属性nhibernate中的访问策略

mar*_*raz 18 nhibernate nhibernate-mapping

我可以在nhibernate xml的属性访问中使用哪些访问策略?
有人能指出我可能使用的值吗?
一个很好的教程将非常感激.
谢谢

Lac*_*che 36

属性访问策略在5.1.9的参考文档中描述.财产.

access属性允许您控制NHibernate在运行时访问属性值的方式.access属性的值应该是文本格式为access-strategy.naming-strategy.并非总是需要.naming策略.

访问策略可以是以下之一:

  • property默认实现.NHibernate使用属性的get/set访问器.此访问策略不应使用命名策略,因为name属性的值是属性的名称.
  • 字段 NHibernate将直接访问该字段.NHibernate使用name属性的值作为字段的名称.如果您希望属性的名称而不是字段是API的使用者使用HQL的名称,则需要命名策略.
  • nosetter NHibernate将在设置值时直接访问该字段,并在获取值时使用该属性.命名策略是必需的,因为NHibernate使用name属性的值作为属性名称,需要告诉该字段的名称是什么.
  • ClassName如果NHibernate的内置访问策略不是您所需要的,那么您可以通过实现NHibernate.Property.IPropertyAccessor接口来构建自己的访问策略.access属性的值应该是可以使用Activator.CreateInstance(string assemblyQualifiedName)加载的程序集限定名称.

命名策略可以是以下之一:

  • camelcase name属性转换为camel case以查找字段.
  • camelcase-underscore name属性转换为驼峰大小写,并以下划线为前缀以查找字段.
  • 小写 name属性转换为小写以查找Field.
  • lowercase-underscore name属性转换为小写,并以下划线为前缀以查找Field.
  • pascalcase-underscore name属性以下划线为前缀以查找字段.
  • pascalcase -m name属性以字符m为前缀以查找字段
  • pascalcase-m-underscore name属性以字符m和下划线为前缀以查找字段.