0
我的列表VS IList的和其他收藏品的理解是相當有限的,所以我要問:NHibernate;的基礎知識雙向1:M,M:M和列表/ IList的
請請注意,NHibernate不支持索引集合(列表,映射或數組)作爲「多」端的雙向一對多關聯,您必須使用集合或包映射。
下面的類的實現是否尊重這個限制?換一種說法;將該財產申報爲IList並將其作爲具體清單初始化是否足夠?或者我需要使用不同類型的集合?
我可以使用任何容器的特定實現,還是它必須是一個接口?
示例來自FluentNHibernate tutorial,所以我認爲它可以,但我想更深入地理解它,而不僅僅是在此基礎上接受它。
public class Store
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
public virtual IList<Employee> Staff { get; set; }
public Store()
{
Products = new List<Product>();
Staff = new List<Employee>();
}
public virtual void AddProduct(Product product)
{
product.StoresStockedIn.Add(this);
Products.Add(product);
}
public virtual void AddEmployee(Employee employee)
{
employee.Store = this;
Staff.Add(employee);
}
}
「映射爲包」:這是否意味着我需要添加一些東西到映射?說它是:HasMany(x => x.Staff).Cascade.All();我需要修改這個?或者我可能不明白「包」的定義。 – bretddog 2011-02-05 12:34:27