c# – 使用EF Core在运行时确定正在使用哪个db提供程序
发布时间:2020-12-15 23:48:48 所属栏目:百科 来源:网络整理
导读:在我们的ASP.NET Core和EF Core系统中,我们对系统的不同部分使用不同的数据库.我需要能够在运行时告诉使用哪个数据库提供程序,因为有些东西需要考虑到这一点. 在启动期间,SQL Server有这样的: services.AddDbContextMyContext( options = options.UseSqlSer
在我们的ASP.NET Core和EF Core系统中,我们对系统的不同部分使用不同的数据库.我需要能够在运行时告诉使用哪个数据库提供程序,因为有些东西需要考虑到这一点.
在启动期间,SQL Server有这样的: services.AddDbContext<MyContext>( options => options.UseSqlServer(config.GetConnectionString("DefaultConnection")) ); 或者这适用于SQLite: services.AddDbContext<MyContext>( options => options.UseSqlite(config.GetConnectionString("DefaultConnection")) ); 关键是正在使用哪个数据库的知识,包含在系统内的某个地方. 在系统的某个任意点,我如何确定我正在使用哪个数据库?我可以访问MyContext.那里有什么可以揭示这些信息吗? 解决方法
在系统中可以访问MyContext的任何位置,执行以下操作:
context.Database.GetDbConnection().GetType().Name 例如,它是SQLite的SqliteConnection,或SQL Server的SqlServerConnection等. 但是我不确定你之后是否需要处理连接! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |