我試圖用ForeignKeyAttribute
定義兩個表之間的關係。 我來了一個十字架的幾個網站,描述了這樣做的一個有趣的方法與ForeignKeyAttribute
。用Code First定義ForeignKeys
下面是兩個代碼示例:
第一個:
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
來完成,但這個問題目前無關緊要。
嗨,關於你的最後一行,除此之外,以任何方式使用哪種方法沒有區別? – Yustme
是的,放置「ForeignKey」的位置並沒有什麼不同 – SOfanatic