Fluent nHibernate 保存或更新派生实体

Posted

技术标签:

【中文标题】Fluent nHibernate 保存或更新派生实体【英文标题】:Fluent nHibernate save or update derived entity 【发布时间】:2012-06-07 12:29:00 【问题描述】:

我有一个数据来自数据库的实体,但是,它的一些属性填充了来自另一个源(文件系统)的数据,所以我所做的是我的存储库,而不是返回我的实体,而是返回一个从主实体派生的代理对象,所以当我尝试保存或更新时的问题是它说该类没有持久性......

是否可以将派生类保存为主类?我的代理对象与真正的代理对象相同,只是它覆盖了几个方法。

谢谢!

Seb :)

【问题讨论】:

【参考方案1】:

是的,ISession.SaveISession.Update 都有允许您指定实体名称的重载。

例子:

class Foo  ... 
class FooProxy : Foo  ... 

session.Save(typeof(Foo).FullName, aFooProxy);

【讨论】:

以上是关于Fluent nHibernate 保存或更新派生实体的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Fluent NHibernate ClassMap 类中指定表名?

使用 Fluent NHibernate AutoMapping 进行级联保存

如何使用 Fluent nhibernate 正确更新行?

NHibernate - 错误脱水属性值 - 更新实体

Fluent NHibernate - 用新的 List<object> 子对象保存新的父对象

NHibernate + Fluent NHibernate 异常