【发布时间】:2017-04-15 09:57:31
【问题描述】:
我有一个连接其他表的表。实体框架需要一个主键。我希望这张表只有来自其他表的 ID,没有额外的主键。我应该怎么做才能修复这个错误?
【问题讨论】:
-
创建复合键
标签: c# .net entity-framework
我有一个连接其他表的表。实体框架需要一个主键。我希望这张表只有来自其他表的 ID,没有额外的主键。我应该怎么做才能修复这个错误?
【问题讨论】:
标签: c# .net entity-framework
您可以创建一个主复合键
public class YourEntity
{
[Column(Order = 0), Key, ForeignKey("FieldFromAnotherTable_1")]
public int FieldFromAnotherTable_1_ID { get; set; }
[Column(Order = 1), Key, ForeignKey("FieldFromAnotherTable_2")]
public int FieldFromAnotherTable_2_ID { get; set; }
public virtual Type1 FieldFromAnotherTable_1{ get; set; }
public virtual Type2 FieldFromAnotherTable_2{ get; set; }
}
【讨论】:
您可以使用 Key 属性从其他表中标记这些 ID。 EF 会看到这一点并从这些列中创建一个主键。
另外,你可以阅读这篇文章Creating Composite Key Entity Framework
【讨论】: