将断开连接的nHibernate实体附加到会话并从数据库中读取

时间:2012-06-12 07:41:17

标签: c# .net nhibernate

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

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

我不确定,但是可以将实体附加到会话/连接,还有一些如何基于id一般获取数据?

编辑:更具体的信息。

我有几个从基类继承的nhibernate实体(例如User,Account)(例如EntityBase)。该基类包含一个公共主键。

我传递了这些实体的列表,并填充了主键。

public void RetrieveEntities(List<EntityBase> entities)

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

如果需要澄清问题,请发表评论。干杯。

1 个答案:

答案 0 :(得分:1)

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

类似的东西:

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

foreach(EntityBase entity in entities) 
{
    attachedEntities.Add(session.Merge(entity));
}
相关问题