我希望为实体框架 DbContext 提供连接字符串。我不想将其保存到配置文件中。
在创建实例时,我不喜欢将连接字符串作为构造函数参数传递。当实例在内部启动时,我也可以设置它......比如在部分上下文类中。
在不影响设计时间 edmx 的情况下处理这种情况的最佳方法是什么?我用谷歌搜索无法得出结论性答案。
只是想补充一点:这是模型优先的方法。
感谢指点。
我希望为实体框架 DbContext 提供连接字符串。我不想将其保存到配置文件中。
在创建实例时,我不喜欢将连接字符串作为构造函数参数传递。当实例在内部启动时,我也可以设置它......比如在部分上下文类中。
在不影响设计时间 edmx 的情况下处理这种情况的最佳方法是什么?我用谷歌搜索无法得出结论性答案。
只是想补充一点:这是模型优先的方法。
感谢指点。
I have the same question and I'm still in search of an elegant solution.
For the time being, I create a partial class for the entities that allows me to expose the base(string nameOrConnectionString) constructor.
E.g.
public partial class MyEntities
{
public MyEntities(bool arbitraryValue) : base("MyConnectionString") { }
}
Then in code I create the DBContext using the new constructor E.g.
using (var myEntities = new MyEntities(false))
{
....
我一直依赖配置文件,但您可以实现一个工厂来返回您的 DbContext ......主要是为了保持一致性。DbContext 的构造函数(在 EF5 中)将连接字符串作为重载之一:
http://msdn.microsoft.com/en-us/library/gg679467(v=vs.103).aspx