乾杯全部,實體框架:與動態連接字符串錯誤
我正在使用實體框架模型。我需要通過我的連接字符串參數一樣,因此,在另一個文件中,我已經寫了(從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。
錯誤在哪裏?