1

ナビゲーション プロパティがクラス内で繰り返される場合や、ナビゲーション プロパティが表すクラスと同じ名前を付けたくない場合がいくつかあります。例:

public class Employee 
{   
   public Guid EmployeeId { get; set; }
   public string Name { get; set; }
}

public class Project
{
   public Guid ProjectId { get; set; }
   public DateTime Start { get; set; }

   public Guid ResponsibleId { get; set; }
   public virtual Employee Responsible { get; set; }

   public Guid OwnerId { get; set; }
   public virtual Employee Owner { get; set; }
}

EF Code First を使用すると、外部キーが台無しになり、別の名前の新しいキーが作成されます。どうすればこれを処理できますか?

どうもありがとう!

4

2 に答える 2

0

私はこれをやってしまいました。

public class Employee 
{   
   public Guid EmployeeId { get; set; }
   public string Name { get; set; }
}

public class Project
{
   public Guid ProjectId { get; set; }
   public DateTime Start { get; set; }

   public Guid ResponsibleId { get; set; }
   [ForeignKey("ResponsibleId")]
   public virtual Employee Responsible { get; set; }

   public Guid OwnerId { get; set; }
   [ForeignKey("OwnerId")]
   public virtual Employee Owner { get; set; }
}

解決策につながるコメントをくれた Wiktor に感謝します。

于 2013-07-12T20:19:52.773 に答える