3
我使用EF 4.3與Ninject。我有一個簡單的DataContext,並且爲它創建了一個接口。這是一個簡單的接口:實體框架4.3 - 使用DataContext配置ConnectionString接口
public interface IMyDataContext
{
DbSet<ComplexType> ComplexTypes { get; set; }
int SaveChanges();
}
MyDataContext的執行情況:
public class MyDataContext : DbContext, IMyDataContext
{
public DbSet<ComplexType> ComplexTypes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder); //Not sure if this is necessary..
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
而且我將它添加到NInject:
Kernel.Bind<IMyDataContext>().To<MyDataContext>();
使用連接字符串名稱MyDataContext不工作,如果我使用IMyDataContext,它會生成另一個名爲完整程序集名稱的數據庫。只有一個表/類被映射。不知道這與它有什麼關係。
<connectionStrings>
<add name="MyDataContext"
connectionString="Server=MyPc\SQLEXPRESS;Database=MyDataContext;Persist Security Info=True;Integrated Security=true;MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
我知道我可以覆蓋數據上下文的構造....但我認爲這是應該的「自動映射」。有什麼想法嗎?
在此先感謝!
謝謝 - 添加上面的實現。我希望能夠使用datacontext的名稱 - 但我認爲這很簡單。欣賞它。 – Shibbz 2012-02-25 23:27:40