如何将2个相同的属性添加到模型中?

时间:2013-05-06 18:22:39

标签: c# entity-framework asp.net-mvc-4

说我有一个类:

public class User
{
..
}

public class ProductSale
{

   [ForeignKey("User")]
   public int CreatedByUserId {get;set;}

   [ForeignKey("User")]
   public int UpdatedByUserId {get;set;


   public virtual User CreatedByUser {get;set;}
   public virtual User ModifiedByUser {get;set}
}

实体框架将如何确定用于CreatedByUser和ModifiedByUser的属性?

2 个答案:

答案 0 :(得分:3)

您需要在外键属性中指定导航属性名称,而不是类名。

public class ProductSale
{

  [ForeignKey("CreatedByUser")]
  public int CreatedByUserId {get;set;}

  [ForeignKey("ModifiedByUser")]
  public int UpdatedByUserId {get;set;


  public virtual User CreatedByUser {get;set;}
  public virtual User ModifiedByUser {get;set}
}

答案 1 :(得分:0)

您还需要自己分配用户的值。 EF无法自动确定CreatedBy和UpdatedBy用户是谁。