如何处理外键关系实体框架MVC

时间:2016-12-02 17:48:16

标签: c# entity-framework

public class UserCommentry
{
    [Key]
    public int ID { get; set; }
    [ForeignKey("AccountID")]
    public int AccountID { get; set; }
    public virtual Account account { get; set; }
    public Int64 TransferID { get; set; }
}

主键字段

public class Account
{
    [Key]
    public int ID { get; set; }
    public int code{ get; set; }
    public Int64 TransferID { get; set; }

错误:

  

无法将属性“AccountID”配置为导航属性。该属性必须是有效的实体类型,并且该属性应具有非抽象的getter和setter。对于集合属性,类型必须实现ICollection,其中T是有效的实体类型。

1 个答案:

答案 0 :(得分:0)

简短回答:因为navigarion属性应该是您希望它指向的类型。 如果我想与帐户建立关系,我会这样做:

public class UserCommentry
    {
        [Key]
        public int ID { get; set; }
        public Account Account{ get; set; }
        public virtual Account account { get; set; }

        public Int64 TransferID { get; set; }
    }

然后让上下文使用OnModelCreating了解它。您可以在此处阅读更多内容http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx