如何为SQL Server CE使用动态连接字符串?
我在我的Windows应用程序中使用了SQL Server CE 4.0,并使用Entity Framework创建了它的模型。
它工作正常,但我的问题是它没有构造函数来更改连接字符串,默认情况下它从app.config
文件中读取连接字符串。
using (var Context = new MyEntitiesModel(//has no constructor)) { ... }
我创建了一个动态连接字符串和
using (var Context = new MyEntitiesModel()) { Context.Database.Connection.ConnectionString = entityConnection.ConnectionString; }
它通过这种方式工作正常,但如果我删除app.config
文件中的另一个连接字符串,它给了我这个。
错误=无效元代….
因为默认构造函数使用它
我该怎么处理?
创建自己的构造函数。 MyEntitiesModel
是部分类,您可以添加自己的部分类,并添加接受连接字符串的构造函数。
public partial class MyEntitiesModel { public MyEntitiesModel(string connectionString) : base(connectionString) { } }
我正在使用DbContext。 有几个重载构造函数,例如:ObjectContext也有一组类似的构造函数重载。
System.Data.Entity DbContext示例
Context = new BosMasterEntities(nameOrConnectionString: nameOrConnectionString);
您可以同时连接到多个Dbs。