我希望为Entity Framework DbContext提供连接字符串。我不想将其保存到配置文件中。
创建实例时,我不希望将连接字符串作为构造函数参数传递。我也可以在内部启动实例时设置它..比如在部分上下文类中。
在不影响设计时edmx的情况下,处理这种情况的最佳方法是什么。我用Google搜索无法得出结论性答案。
只想添加:这是模型第一种方法。
感谢指点。
答案 0 :(得分:0)
我一直依赖配置文件,但你可以实现一个工厂来返回你的DbContext ...主要是为了保持一致性。 DbContext的构造函数(在EF5中)将连接字符串作为重载之一:
http://msdn.microsoft.com/en-us/library/gg679467(v=vs.103).aspx
答案 1 :(得分:0)
我有同样的问题,我仍然在寻找一个优雅的解决方案。
目前,我为实体创建了一个部分类,允许我公开base(string nameOrConnectionString)构造函数。
E.g。
public partial class MyEntities
{
public MyEntities(bool arbitraryValue) : base("MyConnectionString") { }
}
然后在代码中我使用新的构造函数创建DBContext 例如。
using (var myEntities = new MyEntities(false))
{
....