加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – 流畅的Nhibernate和Sql Server私有setter错

发布时间:2020-12-12 06:22:03 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试用流畅的nhibernate与sql server express完成第一步,在我的项目中添加此功能. 但是有些错误.因为我是nhibernate的新手,一段时间无法解决问题. 我有一个实体 Id { get; private set; } 存取.并且此实体映射到sql server中具有标识{1,1}列的表. 但在
我正在尝试用流畅的nhibernate与sql server express完成第一步,在我的项目中添加此功能.
但是有些错误.因为我是nhibernate的新手,一段时间无法解决问题.
我有一个实体
Id { get; private set; }

存取.并且此实体映射到sql server中具有标识{1,1}列的表.
但在创建Session工厂期间,我收到一个错误:

The following types may not be used as proxies:Entity: method set_Id should be 'public/protected virtual' or 'protected internal virtual'

我知道私有的setter用于封装这个属性的设置,但为什么我会得到这个错误呢?
PS:对于nhibernate流利的网站上的例子是使用sqllite db,一切都很好.

解决方法

这个问题给包括我在内的许多NH / FNH用户带来了悲痛.

直到最近,NHibernate已经允许私有的setter使用代理对象.但是从NH 3.2开始,不再允许私有设置者 – 它们必须是“’公共/受保护的虚拟’或’受保护的内部虚拟’”,正如错误信息所示.

对于许多FNH / NH样本代码而言,这是一个重大变化,对于新手来说尤其令人困惑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读