0

我是 nHibernate 的新手。我有一个接收断开连接的 nHibernate 实体列表的方法。在每个实体中,我都有主键集(主键始终是一个名为 Id 的字段,它是一个 int)。

我现在想要实现的是连接到数据库并用它的主键值填充每个实体。我正在使用流利的映射。

我不确定,但是否可以将实体附加到会话/连接,以及一般如何根据 id 获取数据?

编辑:更具体的信息。

我有几个从基类(例如 EntityBase)继承的休眠实体(例如用户、帐户)。这个基类包含一个公共主键。

我正在传递这些实体的列表,其中填充了主键。

public void RetrieveEntities(List<EntityBase> entities)

此时,我想循环遍历这些实体并从数据源中获取完整的实体。是否有可能或正在以错误的方式解决这个问题?

如果需要对问题进行任何澄清,请发表评论。干杯。

4

1 回答 1

1

使用 .Merge,这将返回您传入实体的附加版本。

就像是:

List<EntityBase> attachedEntities = new List<EntityBase>();

foreach(EntityBase entity in entities) 
{
    attachedEntities.Add(session.Merge(entity));
}
于 2012-06-12T07:45:28.660 回答