每个子类保存的流利 NHibernate 表
Posted
技术标签:
【中文标题】每个子类保存的流利 NHibernate 表【英文标题】:Fluent NHibernate Table Per Subclass Saving 【发布时间】:2010-12-09 18:54:37 【问题描述】:这是我的设置:
public class Parent
public virtual int Id get; protected set;
public virtual Property1 get; set;
public class Child : Parent
public virtual Property2 get; set;
public sealed class ParentMap : ClassMap<Parent>
public ParentMap()
Id( m => m.Id );
Map( m => m.Property1 );
public sealed class ChildMap : SubclassMap<Child>
public ChildMap()
KeyColumn( "ParentId" );
Map( m => m.Property2 );
这对于检索数据非常有用。我该如何保存呢?我想在附加到父项的数据库中创建一个新的子记录。如果我创建一个具有相同父值的新子类并保存,我会收到错误消息a different object with the same identifier value was already associated with the session: 2, of entity: Child
我想这是有道理的,但是如何在数据库中创建一个具有相同父级的新子级?
也许这是不可能的,我应该做一个从父母到孩子的一对多。
【问题讨论】:
【参考方案1】:你在滥用继承。您无法更改对象的类型。
您可能想要一对一。
【讨论】:
我认为可能是这样。感谢您的确认。以上是关于每个子类保存的流利 NHibernate 表的主要内容,如果未能解决你的问题,请参考以下文章