没有ID的NHibernate映射

标签 nhibernate

是否可以在不使用ID的情况下在NHibernate中进行映射?

我想做的是,使用

session.CreateSqlQuery( myQuery ).AddEntity( typeof( MyEntity ) );

该过程是一个聚合过程,没有Id字段返回,但是我仍然想利用NHibernate将返回的数据映射到一个实体中。到目前为止,我唯一想到的就是让该过程添加一个字段“O as Id”或其他内容,并使该实体具有一个伪ID字段。

最佳答案

即使没有ID字段,您的实体也必须以某种方式“唯一”。

确定将哪些属性放在一起时必须是唯一的,并在它们上使用复合键...

<composite-id>
  <key-property name="Property1" column="Column1"/>
  <key-property name="Property2" column="Column2"/>
</composite-id>

关于没有ID的NHibernate映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994356/

相关文章:

asp.net-mvc - 有人可以解释一下 CaSTLe Windsor 在我的应用程序中是如何工作的吗?

nhibernate - NHibernate Flush —如何工作?

c# - Nhibernate:谁负责非 web 应用程序中的事务管理

silverlight - NHibernate.Linq,WCF RIA 服务,奇怪的错误

c# - 在 Fluent Nhibernate 中使用多个数据库,System.TypeInitializationException 未处理

nhibernate - Fluent NHibernate LazyLoad 问题

Nhibernate Conformist 映射 "Unable to determine type..."

NHibernate HQL逻辑问题

IUserType 上的 NHibernate QueryOver

nhibernate - 强制 NHibernate 获取已经处于持久状态/一级缓存的实体