Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nhibernate中的财产访问策略_Nhibernate_Nhibernate Mapping - Fatal编程技术网

nhibernate中的财产访问策略

nhibernate中的财产访问策略,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,我可以在nhibernate xml的属性访问中使用哪些访问策略? 有人能告诉我其中可能使用的值吗? 非常感谢您提供一个好的教程。 谢谢下的参考文档中描述了财产访问策略 access属性允许您控制NHibernate在运行时访问属性值的方式。access属性的值应为文本格式,格式为access-strategy.naming-strategy。并非总是需要.naming策略 访问策略可以是以下策略之一: 属性默认实现。NHibernate使用属性的get/set访问器。此访问策略不应使用命名策

我可以在nhibernate xml的属性访问中使用哪些访问策略?
有人能告诉我其中可能使用的值吗?
非常感谢您提供一个好的教程。

谢谢

下的参考文档中描述了财产访问策略

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

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

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

  • camelcase名称属性转换为camelcase以查找字段
  • camelcase下划线名称属性转换为camelcase,并以下划线作为前缀以查找字段
  • 小写名称属性转换为小写以查找字段
  • 小写下划线名称属性转换为小写,并以下划线作为前缀以查找字段
  • pascalcase underlinename属性的前缀为下划线以查找字段
  • pascalcase-mname属性的前缀是字符m,用于查找字段
  • pascalcase-m-underlinename属性的前缀是字符m和下划线,用于查找字段

那“无”呢?