【问题标题】:Table connecting other tables. Entity Framework - error 6002: no primary key连接其他表的表。实体框架 - 错误 6002:没有主键
【发布时间】:2017-04-15 09:57:31
【问题描述】:

我有一个连接其他表的表。实体框架需要一个主键。我希望这张表只有来自其他表的 ID,没有额外的主键。我应该怎么做才能修复这个错误?

【问题讨论】:

  • 创建复合键

标签: c# .net entity-framework


【解决方案1】:

您可以创建一个主复合键

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; }

}

【讨论】:

  • 非常感谢 :) 在您发表评论后,我找到了方法
【解决方案2】:

您可以使用 Key 属性从其他表中标记这些 ID。 EF 会看到这一点并从这些列中创建一个主键。

另外,你可以阅读这篇文章Creating Composite Key Entity Framework

【讨论】:

    猜你喜欢
    • 2014-09-07
    • 2011-04-29
    • 2016-02-02
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    相关资源
    最近更新 更多