删除外键属性会​​导致异常

Nao*_*aor 6 .net c# mapping entity-relationship entity-framework

我不想使用外键关联到CompanyType(将持有外键ID的成员),但更喜欢使用导航属性.所以我删除了CompanyTypeId.

我得到了这个涉及实体公司和CompanyType之间关系的例外:

错误5:命名空间" http://schemas.microsoft.com/ado/2008/09/edm "中的元素"Principal "具有不完整的内容.期望的可能元素列表:名称空间" http://schemas.microsoft.com/ado/2008/09/edm "中的"PropertyRef ".

在此输入图像描述

如何在不获取异常的情况下从POCO中删除这些ID?

Lad*_*nka 8

这是外键关联和独立关联之间的区别.两个关联都使用导航属性,但只有外键关联使用FK属性.您可以在@Robbie中提及全局删除它们,也可以手动更改所选关系的类型.

  • 在实体框架设计器中选择关系
  • 在属性中删除参照约束
  • 转到"映射"窗口并映射关系

以下是我的一个测试应用程序的屏幕截图,其中包含OrderOrderLine实体之间的一对多关系:

在此输入图像描述

正如您所看到OrderId的,OrderLine实体中没有,并且关系的引用约束是空的.还指定了关系的映射.

你永远不能Id从中删除CompanyType.Ids(PK)是强制性的.您只能在其属性中更改其可访问性.