我正在使用Fluent NHibernate来映射现有的数据库。出于这个原因 - 自动化不是我的选择。
如何告诉NHibernate不要映射某些属性?其中许多是只读的,其他的不需要因其他原因而持久化。
我在VB.Net中写这篇文章。
我收到了典型的错误消息: “以下类型不能用作代理 ......应该是'public / protected virtual'或'protected internal virtual'“
我故意不使我的对象Overridable(相当于C#中的virtual),因为我不希望NHibernate触及它们。
我怎样才能做到这一点?
答案 0 :(得分:6)
所有属性和方法都必须可以覆盖,以便NHibernate创建动态代理,包括未映射的属性。这并不意味着NHibernate正在映射您的只读属性,它只需要它们可以覆盖它们以便它可以生成该类的代理。 This article解释了要求。