共享库中的代码优先EF模型上的ForeignKeyAttribute被忽略

时间:2019-04-05 16:33:19

标签: c# .net entity-framework

我有一个包含多个项目的VS2017解决方案:

  • 项目1:共享库,其中包含大多数使用Code First和我的DbContext类的EF模型。我通常使用ForeignKeyAttribute映射外键,而不是DbContext类中的OnModelCreating函数。
  • 项目2:MVC Web应用程序项目,引用项目1。
  • 项目3:Azure功能,引用项目1。
  • 项目4:Azure Webjob,引用项目1。

Project 2实例化DbContext,并且可以毫无问题地访问和查询所有实体。

项目3和4实例化DbContext,并且每当它们查询db时,都会出现诸如“无效列名'Organization_Id”和'无效列名'Organization_Id1'之类的错误。 如有必要,我可以通过转到DbContext类并在OnModelCreating函数中手动配置实体外键映射来解决此问题。但是我有很多实体,以这种方式配置需要花费相当长的时间。

我仔细阅读了一下参考资料,以了解是否可以查明Web项目中可能存在的,其他两个项目中不存在的任何内容,但是有很多内容,而且我不知道哪个(如果有的话) )引用可能会丢失。

理想情况下,我希望能够从任何其他项目中引用项目1,而不必回头并将不必要的配置添加到OnModelCreating函数中,因为我已经通过属性声明了这些ForeignKey依赖项,并且我知道映射是正确的,因为在通过Project 2访问时,它们都可以正常工作。

0 个答案:

没有答案