将断开连接的 nHibernate 实体附加到会话并从数据库中读取
本文关键字:会话 数据库 读取 连接 断开 nHibernate 实体 | 更新日期: 2023-09-27 18:36:56
我是nHibernate的新手。我有一个接收断开连接的 nHibernate 实体列表的方法。在每个实体中,我都设置了主键(主键始终是一个名为 Id 的字段,它是一个 int)。
此时我试图实现的是连接到数据库并用该主键的值填充每个实体。我正在使用流畅的映射。
我不确定,但是是否可以将实体附加到会话/连接,以及某些通常如何根据id获取数据?
编辑:更具体的信息。
我有几个从基类(例如EntityBase)继承的nhibernate实体(例如User,Account)。此基类包含一个公共主键。
我正在传递这些实体的列表,并填充了主键。
public void RetrieveEntities(List<EntityBase> entities)
此时,我想循环浏览这些实体并从数据源获取完整实体。是否有可能或正在以错误的方式接近这一点?
如果需要澄清问题,请发表评论。干杯。
使用 .合并,这将返回传入实体的附加版本。
像这样:
List<EntityBase> attachedEntities = new List<EntityBase>();
foreach(EntityBase entity in entities)
{
attachedEntities.Add(session.Merge(entity));
}