没有主键的EF v4映射关系 - 数据库优先

时间:2013-04-02 13:27:44

标签: c# entity-framework

我目前正在使用一个数据库,该数据库将来自另一个系统的信息提取到其中进行操作。我决定使用Entity Framework和DB第一种方法来构建我的数据访问。该项目的一个独特之处在于我使用外部系统中的商务密钥作为将显示在关联表中的密钥,但它不是我系统中的主键。我将此密钥用于关联表EG MyTable.ExternalId --> Review.ExternalId中的关系(ExternalId不是父表中的pk)。因此,即使我在子表上有一个外键约束,使得在数据库中知道这种关系,EF也不会重新确定关系。

有没有办法覆盖EF告诉它使用ExternalId而不是PK来建立关系?或者是否会建议我只是改变关系以使用父表的PK?

1 个答案:

答案 0 :(得分:1)

EF doesn't support unique keys但是你不能使用ExternalId作为数据库中主要记录的标识。您必须在表中使用ExternalId作为PK,或者与主表的实际PK建立关系。