2

我希望为实体框架 DbContext 提供连接字符串。我不想将其保存到配置文件中。

在创建实例时,我不喜欢将连接字符串作为构造函数参数传递。当实例在内部启动时,我也可以设置它......比如在部分上下文类中。

在不影响设计时间 edmx 的情况下处理这种情况的最佳方法是什么?我用谷歌搜索无法得出结论性答案。

只是想补充一点:这是模型优先的方法。

感谢指点。

4

2 回答 2

0

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))
{
    ....
于 2013-04-03T04:01:35.343 回答
0

我一直依赖配置文件,但您可以实现一个工厂来返回您的 DbContext ......主要是为了保持一致性。DbContext 的构造函数(在 EF5 中)将连接字符串作为重载之一:

http://msdn.microsoft.com/en-us/library/gg679467(v=vs.103).aspx

于 2012-12-12T05:17:55.460 回答