2016-11-27 142 views
0

我使用实体框架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

谢谢

+0

确保您的'app.config'文件是启动项目。例如。当Web(或任何其他)项目可能指向Dev数据库时,数据项目可能包含指向ConnStrDev数据库的配置的迁移。 –

回答

1

EF使用连接字符串名称在app.config数据库名。 您可以在配置文件重命名连接字符串名称和dbcontext

public MyDbContext() : base("dev") 


<connectionStrings> 
    <add name="dev" 
     connectionString="Server=.\SqlExpress;Database=Dev;Trusted_Connection=True;"/> 
</connectionStrings> 
相关问题