【发布时间】:2016-01-24 10:26:56
【问题描述】:
我有 2 个解决方案,使用 EF 6.0,并且都使用完全相同的默认配置。不过,它们连接到 2 个不同的数据源!? (localdb)\mssqllocaldb 和 .\SQLEXPRESS。
我的配置:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
两者的 DbContext 也相似:
public class PlusUltraContext : DbContext
{
public PlusUltraContext() : base("PlusUltra")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
public DbSet<Models.Article> Articles { get; set; }
public DbSet<Models.ArticleComment> Comments { get; set; }
}
对
public class InvoicingContext : DbContext
{
public DbSet<Address> Addresses { get; set; }
public DbSet<Company> Companies { get; set; }
public DbSet<Country> Countries { get; set; }
public DbSet<Currency> Currencies { get; set; }
public DbSet<Invoice> Invoices { get; set; }
public DbSet<InvoiceLine> InvoiceLines { get; set; }
public DbSet<Person> Persons { get; set; }
public DbSet<Unit> Units { get; set; }
public InvoicingContext() : base("Invoicing")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
但是,当我运行 Update-Database 命令时,第一个项目连接到 .\SQLEXPRESS,而另一个连接到 (localdb)\mssqllocaldb
目标数据库是:'PlusUltra'(数据源:(localdb)\mssqllocaldb,提供者:System.Data.SqlClient,来源:约定)。
对
目标数据库是:'Invoicing'(数据源:.\SQLEXPRESS,提供者:System.Data.SqlClient,来源:约定)。
我的问题
我可以检查哪些内容以了解它们为何表现不同?
【问题讨论】:
标签: c# sql-server entity-framework