我是看着「NHibernate的3新手指南」的書,發現有趣的提示:一對多映射。 NHibernate的
在現實生活中的庫存應用程序,你可能會想避免 穿上類別實體產品集合,因爲它是 可能某個類別可能有數百個(如果不是成千上萬個) 關聯產品。爲了加載整個,給定類別的大量產品 將是不明智的,並且會導致應用程序 具有不滿意的響應時間。
提示是正確的一對多關係建立的例子。這些實體是Product
和Category
。這個例子很簡單:
public class Category : Entity // Entity probably contains an `Id` property
{
private List<Products> products;
public String CategoryName { get; set; }
public String Description { get; set; }
public IEnumerable<Product> Products { get { return products; } }
}
public class Product : Entity
{
public Decimal UnitPrice { get; set; }
public String ProductName { get; set; }
public Category Category { get; set; }
}
那麼什麼是一對多關係的真實生活的例子?
將Category
作爲String
屬性放在產品實體中的示例就足夠了嗎?
有很多理由來維護一對多的財產。例如:如果我有訂單,我可以選擇在該訂單實體上擁有一個Items集合。由於訂單項在訂單的上下文之外絕對沒有意義,因此我甚至可能選擇不具有OrderItemRepository。 – Boris