我是nHibernate的新手。我有一个方法,它接收一个断开连接的nHibernate实体列表。在每个实体中,我都有主键集(主键始终是一个名为Id的字段,它是一个int)。
此时我想要实现的是连接到数据库并使用它的主键值填充每个实体。我正在使用流利的映射。
我不确定,但是可以将实体附加到会话/连接,还有一些如何基于id一般获取数据?
编辑:更具体的信息。
我有几个从基类继承的nhibernate实体(例如User,Account)(例如EntityBase)。该基类包含一个公共主键。
我传递了这些实体的列表,并填充了主键。
public void RetrieveEntities(List<EntityBase> entities)
此时,我想循环遍历这些实体并从数据源获取完整实体。是否可能或正在以错误的方式接近这个?
如果需要澄清问题,请发表评论。干杯。
答案 0 :(得分:1)
使用.Merge,这将返回传入的实体的附加版本。
类似的东西:
List<EntityBase> attachedEntities = new List<EntityBase>();
foreach(EntityBase entity in entities)
{
attachedEntities.Add(session.Merge(entity));
}