如何为SQL Server CE使用动态连接字符串?

mot*_*deh 6 c# entity-framework connection-string sql-server-ce-4

我在我的Windows应用程序中使用了SQL Server CE 4.0,并使用Entity Framework创建了它的模型.

它工作正常但我的问题是它没有构造函数来更改连接字符串,默认情况下它从app.config文件中读取连接字符串.

 using (var Context = new MyEntitiesModel(//has no constructor))
 {
        ...
 }
Run Code Online (Sandbox Code Playgroud)

我创建了一个动态连接字符串和

  using (var Context = new MyEntitiesModel())
   {
         Context.Database.Connection.ConnectionString = entityConnection.ConnectionString;
   }
Run Code Online (Sandbox Code Playgroud)

它通过这种方式工作正常,但如果我删除app.config文件中的另一个连接字符串,它给了我这个.

错误=无效的元数据....

因为默认构造函数使用它

我该怎么处理?

Lad*_*nka 2

创建您自己的构造函数。MyEntitiesModel是部分类,您可以添加自己的类的部分部分,并添加接受连接字符串的构造函数。

public partial class MyEntitiesModel {
    public MyEntitiesModel(string connectionString) : base(connectionString) { }
}
Run Code Online (Sandbox Code Playgroud)