如何在不自动化的情况下告诉Fluent NHibernate忽略特定属性?

时间:2011-12-21 00:56:56

标签: vb.net nhibernate fluent-nhibernate nhibernate-mapping fluent-nhibernate-mapping

我正在使用Fluent NHibernate来映射现有的数据库。出于这个原因 - 自动化不是我的选择。

如何告诉NHibernate不要映射某些属性?其中许多是只读的,其他的不需要因其他原因而持久化。

我在VB.Net中写这篇文章。

我收到了典型的错误消息: “以下类型不能用作代理 ......应该是'public / protected virtual'或'protected internal virtual'“

我故意不使我的对象Overridable(相当于C#中的virtual),因为我不希望NHibernate触及它们。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:6)

所有属性和方法都必须可以覆盖,以便NHibernate创建动态代理,包括未映射的属性。这并不意味着NHibernate正在映射您的只读属性,它只需要它们可以覆盖它们以便它可以生成该类的代理。 This article解释了要求。