首先创建关联模型而忽略某些PK

时间:2017-09-06 19:31:42

标签: c# entity-framework

我有以下表格结构

设施

  • PK设施ID
  • 的AccountID

帐户

  • PK NameID
  • PK AccountID

我无法触及数据库,所以我的更改需要在实体框架中。基本上AccountIDs是链接的,所以我想在它们之间创建一个关联。因此,当我创建关联时,我将AccountIDs映射到一起,但是我无法将FacilityID映射到任何内容并NameID映射到任何内容,因此当我保存Visual Studio时,抱怨映射是没有正确设置。

我的主要问题是如何忽略FacilityIDNameID的映射?我尝试将[NotMapped]添加到FacilityIDNameID,但这不起作用。我还尝试为FacilityAccounts创建标量属性,并使用参考约束来映射它们,但是当我尝试映射表映射下的列时,我添加的列没有出现,导致VS也抱怨。

这是我的表,我删除了大部分字段,因为它们是不必要的 enter image description here

1 个答案:

答案 0 :(得分:0)

假设Account.AccountID是唯一的(即Account中没有两行实际上具有相同的AccountID),只需将其声明为Account实体上唯一的Key Property。

实体的密钥不必在数据库中声明为PK。但是每个实体只能有一个密钥(Key当然可以有多个列,EF Core支持备用密钥)。实体Key应该是唯一的,并且应该在相应列的数据库中具有唯一索引,但EF不强制执行。