干杯全部,实体框架:与动态连接字符串错误
我正在使用实体框架模型。我需要通过我的连接字符串参数一样,因此,在另一个文件中,我已经写了(从this question):
namespace MyNamespace.Model
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class MyEntities: DbContext
{
public MyEntities(string nameOrConnectionString) : base(nameOrConnectionString)
{
}
}
}
当我启动应用程序,我称这种构造以这种方式,所以我可以参考这从反正在app:
public static MyEntities dbContext =
new MyEntities(mdlImpostazioni.SetConnectionString());
其中mdlImpostazioni.SetConnectionString()
返回一个字符串(该数据是正确的):
server=192.168.1.100\SVILUPPO;database=MyDB;uid=myName;pwd=111111;
当我执行这个代码,这似乎是所有好了,但是当我尝试做出那样的查询:
var query = (from r in MainWindow.dbContext.TabTipoSistema select r);
它抛出从这里异常:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
说:
附加信息:使用T4生成的代码如果在代码优先模式下使用,Database First和Model First开发的模板可能无法正常工作。要继续使用Database First或Model First,请确保在运行的应用程序的配置文件中指定了实体框架的连接字符串。要使用这些由Code First或Model First生成的类,使用Code First添加任何使用属性或API DbModelBuilder的附加配置,并删除引发此异常的代码。
堆栈跟踪是:
在MyNamespace.Model.MyEntities.OnModelCreating(DbModelBuilder模型构建器)在C:\型号\ Model.Context.cs:行25 在System.Data .Entity.DbContext.CallOnModelCreating(DbModelBuilder模型构建器)在System.Data.Entity.Internal.LazyInternalContext.CreateModelBuilder () 在System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) 在System.Data.Entity的。 Internal.RetryLazy`2.GetValue(TInput input)*
InnerException为null。
错误在哪里?