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