EF Code First Migration + Multiple DbContext + Foreign Key

时间:2017-06-14 18:07:17

标签: c# asp.net entity-framework ef-migrations

我正在使用EF6 Code First构建Asp.Net应用程序。我创建了两个项目。 (一个主要项目和一个类库项目)。两个项目都有Model类和它们自己的DbContext类,但是两个项目共享相同的连接字符串和数据库。

//Model from Project A
public class Product
{
   public int ProductId{get;set;}
}


//Model from Project B
public class Invoice
{
   public int InvoiceId{get;set;}

   [ForeignKey("Product")]
   public int ProductId{get;set;}

   public virtual Product Product
}

这里我将ProjectB中的ProjectA.Product.ProductId引用为ProjectB.Invoice.ProductId(外键约束)

问题

  • 执行项目A中的代码首次迁移:执行迁移没有问题。
  • 执行项目B中的代码首次迁移:错误
  

数据库中已有一个名为“Product”的对象。

执行项目A的迁移时似乎在数据库中创建表Product,稍后在执行项目B的迁移时,似乎EF尝试再次创建表Product。

我已阅读过很多文章,但尚未找到任何解决方案。 我该如何解决这个问题?任何人都可以通过提供解决方案来帮助我吗?

P.S:我从BaseContext类继承项目上下文类,它继承自DbContext类。

我已在每个项目中启用了自动迁移。

0 个答案:

没有答案