2012-06-12 26 views
0

我是nHibernate的新手。我有一个方法接收一个断开的nHibernate实体列表。在每个实体中,我都有主键集(主键总是一个称为Id的字段,它是一个int)。将断开连接的nHibernate实体连接到会话并从数据库读取

我现在试图实现的目标是连接到数据库并为每个实体填充其主键的值。我正在使用流利的映射。

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

编辑:更具体的信息。

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

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

public void RetrieveEntities(List<EntityBase> entities) 

在这一点上,我想循环这些实体并从数据源中获取完整的实体。是否有可能或正在用错误的方式来解决这个问题?

如果需要澄清问题,请留下评论。干杯。

回答

1

使用.Merge,这会返回您在实体中传递的附加版本。

喜欢的东西:

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

foreach(EntityBase entity in entities) 
{ 
    attachedEntities.Add(session.Merge(entity)); 
} 
+0

这将需要像session.merge (T),但我怎么设定程式设计的类型,即T.我可以使用情况列表中的不同实体我上面描述过。 –

+0

我想我需要看到一个代码片段,我害怕。 –

+0

我添加了一些更具体的信息,也许这就够了? –

相关问题