我在写一个ASP MVC 3应用程序。我为我的数据库使用Sql Server 2008 R2。实体框架代码首先尝试打开错误的数据库
我创建了我的数据模型,我的DbContext
被称为EFDbContext
。 我创建了我的数据库,名为SportsStore
。
我的连接字符串是:
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient" />
我运行应用程序,并没有数据显示。
我发现EF自动生成一个新的数据库SportsStore.Domain.Concrete.EFDbContext
,但我希望它使用我以前创建的SportsStore,并自动将我的模型属性映射到表格列。 如果我禁用自动生成数据库功能,我得到以下错误:
Cannot open database "SportsStore.Domain.Concrete.EFDbContext" requested by the login
不宜实体框架试图打开SportsStore数据库?为什么它试图打开那个?我有错误的连接字符串吗?
什么是您的EFDbContext类的构造函数看起来像?你把连接字符串传给它了吗?您可以将连接字符串传递给DBContext构造函数,或使用上下文类的名称在web.config文件中设置连接字符串。 http://blogs.msdn.com/b/adonet/archive/2011/01/27/using-dbcontext-in-ef-feature-ctp5-part-2-connections-and-models.aspx – Felix