实体框架代码首先定义数据库名称
问题描述:
我使用实体框架6.我有一个app.config
文件在我的项目,它有一个连接字符串,如下面实体框架代码首先定义数据库名称
<connectionStrings>
<add name="ConnStrDev"
connectionString="Server=.\SqlExpress;Database=Dev;Trusted_Connection=True;"/>
</connectionStrings>
当我通过enable-migrations
命令,EF创建这个数据库使用此数据库的名称,如ConnStrDev
。
但我的期望是使用数据库名称,如Dev
,因为连接字符串的数据库名称。
我DbContext
源看起来像这样
public MyDbContext() : base("ConnStrDev")
为什么EF使用ConnStrDev
数据库名称,而不是Dev
?
谢谢
答
EF使用连接字符串名称在app.config
数据库名。 您可以在配置文件重命名连接字符串名称和dbcontext
public MyDbContext() : base("dev")
<connectionStrings>
<add name="dev"
connectionString="Server=.\SqlExpress;Database=Dev;Trusted_Connection=True;"/>
</connectionStrings>
确保您的'app.config'文件是启动项目。例如。当Web(或任何其他)项目可能指向Dev数据库时,数据项目可能包含指向ConnStrDev数据库的配置的迁移。 –