【问题标题】:Changing database type at runtime using EntityFramework使用 EntityFramework 在运行时更改数据库类型
【发布时间】:2018-02-14 14:53:00
【问题描述】:

是否可以在运行时更改数据库类型?如果是,怎么做?我正在使用 EntityFramework 6。

问题背景: 我有一个最初没有数据库访问权限的应用程序。用户首先必须通过“安装”过程并提供有关数据库的信息(包括数据库类型,例如 MySql 或 MsSql)。

如果可能,我想避免使用 2 个上下文。如有需要,我可以提供更多详细信息。

【问题讨论】:

    标签: mysql sql-server entity-framework


    【解决方案1】:

    您可以在运行时使用以下命令指定连接字符串...

    DbContext 有一个构造函数,可以用连接字符串的名称或连接字符串本身重载。

    public partial class EntityName: DbContext {
        public EntityName(): base("name=EntityName") {}
        public EntityName(string connectionString): base(connectionString) {}
    }
    
    var connString = "PopulateConnString";
    Using (var ctx = new EntityName(EntityConnectionStringBuilder)
    {
       // Do stuff
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-12
      • 2017-05-26
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 2016-09-19
      • 1970-01-01
      相关资源
      最近更新 更多