创建NHibernate对象并初始化Set

Tig*_*ine 3 mapping nhibernate orm

我有一个名为Product的表,我有Table StorageHistory.

现在,Product在其映射中包含对StorageHistory的引用

<set name="StorageHistories" lazy="false">
  <key column="ProductId" />
  <one-to-many class="StorageHistory" />
</set>
Run Code Online (Sandbox Code Playgroud)

它有效,当我从ORM中检索一个对象时,我得到一个空的ISet.

让我头疼的是如何构建对象.当我执行以下操作时:

var product = new Product();
session.Save(product);
Run Code Online (Sandbox Code Playgroud)

product.StorageHistories属性为NULL,我得到一个NullReferenceException.那么,如何向该集合中添加项目,或者我应该将自己的StorageHistory项目添加到数据库中?

Qui*_*ome 6

我总是在父对象的ctor中执行以下操作:

histories = new HashedSet();

这包括Save()用例.正如你所说,NHibernate涵盖了Load()/ Get()等用例.