Chr*_*cke 7 sql-server system.data.sqlite entity-framework-core asp.net-core
我希望能够在使用 SQLite 和 SqlServer 作为 ASP.NET Core 应用程序中实体框架的数据库提供程序之间进行切换。
DbContext将 a与数据库提供程序关联的通常模式是通过ConfigureServices方法中的代码:
services.AddDbContext<FeedbackDbContext>(options => options.UseSqlite(Configuration.GetConnectionString("Feedback")));
Run Code Online (Sandbox Code Playgroud)
EF Core 的每个数据库提供程序都添加了自己的扩展方法,如Use<Provider>.
令我惊讶的是,我找不到在配置中为连接字符串指定数据库提供程序的方法
小智 1
如果您位于同一连接上,则可以更改数据库名称。我认为您需要关闭、更改然后重新打开。我自己没有尝试过这个。
this.Database.GetDbConnection().ChangeDatabase("DB name");
Run Code Online (Sandbox Code Playgroud)
否则,您可以更改要使用的连接字符串。
this.Database.GetDbConnection().ConnectionString = "new connection string";
Run Code Online (Sandbox Code Playgroud)
我使用一个单独的部分文件来保存我自己的任何代码,以防止系统在任何数据库重建时覆盖。您可以添加方法或属性来更改当前的连接字符串。同样,您可能需要关闭、更改并重新打开
public partial class YourDbContext : DbContext
{
void SetConnection(string s)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5875 次 |
| 最近记录: |