我正在尝试使用Entity Framework Migrations来使用SQL Server的本地(默认)实例。
我对实体框架的配置是这样的:
<configuration>
<connectionStrings>
<add name="Demo.Data.MyContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=(local);Initial Catalog=Connector;
Integrated Security=True;MultipleActiveResultSets=True" />
</connectionStrings>
<configSections>
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
上下文类是:
namespace Demo.Data
{
public class MyContext : DbContext
{
}
}
就我阅读文档而言,一个与上下文同名的连接字符串的名称使其可被EF发现。
但是当我执行命令时:
PM> Update-Database -verbose
结果如下:
Using StartUp project 'Demo'.
Using NuGet project 'Demo.Data'.
Target database is: 'Demo.Data.MyContext' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
问题是 - 为什么坚持定位。\ SQLEXPRESS?
如何配置app.config以使EF指向我的本地SQL Server?
答案 0 :(得分:0)
嗯,显然有一个技巧可以让它使用PM控制台工作:
包含Entity Framework迁移包的项目需要选择为&#34;启动项目&#34;在Visual Studio中。仅选择项目为&#34;默认项目&#34;在PM控制台中。
您也可以使用
进行设置PM> Update-Database -StartUpProjectName "Demo.Data"
在控制台中切换。