【发布时间】:2013-05-25 11:33:07
【问题描述】:
我正在尝试使用ForeignKeyAttribute 定义两个表之间的关系。
我遇到了一些网站,这些网站描述了一种使用ForeignKeyAttribute 进行此操作的有趣方法。
这是两个代码示例:
第一个:
public class Customer
{
public int ID { get; set; }
public int OrderID { get; set; }
// Some other properties
[ForeignKey("OrderID")]
public virtual Order Order { get; set; }
}
public class Order
{
public int ID { get; set; }
public int CustomerID { get; set; }
// Some other properties
[ForeignKey("CustomerID")]
public virtual Customer Customer { get; set; }
}
第二个:
public class Customer
{
public int ID { get; set; }
[ForeignKey("Order")]
public int OrderID { get; set; }
// Some other properties
public virtual Order Order { get; set; }
}
public class Order
{
public int ID { get; set; }
[ForeignKey("Customer")]
public int CustomerID { get; set; }
// Some other properties
public virtual Customer Customer { get; set; }
}
在第一个代码示例中,ForeignKeyAttribute 放置在 public virtual Customer Customer { get; set; } 上。
在public int CustomerID { get; set; }(Order- 和 CustomerID)的第二个代码示例中。
我的问题是,我怎么知道在哪种情况下使用哪种方法?
我知道这也可以使用 Fluent API 来完成,但目前与这个问题无关。
【问题讨论】:
标签: c# ef-code-first foreign-key-relationship