Подтвердить что ты не робот

Собственность Стратегии доступа в nhibernate

Каковы стратегии доступа, которые я могу использовать в доступе атрибута nhibernate xml?
Может ли кто-нибудь указать мне возможные значения, которые будут использоваться в нем?
Хороший учебник будет очень оценен.
Благодаря

4b9b3361

Ответ 1

Стратегии доступа к свойствам описаны в справочной документации в разделе 5.1.9. Свойство.

Атрибут доступа позволяет вам контролировать, как NHibernate будет получать доступ к значению свойства во время выполнения. Значение атрибута доступа должно быть форматировано в формате стратегии access-strategy.naming. Стратегия .naming не всегда требуется.

Стратегия доступа может быть одной из следующих:

  • свойство. Реализация по умолчанию. NHibernate использует get/set accessors свойства. Стратегия именования не должна использоваться с этой стратегией доступа, поскольку значение атрибута name является именем свойства.
  • поле NHibernate будет напрямую обращаться к полю. NHibernate использует значение атрибута name как имя поля. Если вы хотите, чтобы имя свойства, а не поле, было тем, что потребители вашего API используют с HQL, тогда требуется стратегия именования.
  • nosetter NHibernate будет обращаться к полю напрямую при настройке значения и будет использовать свойство при получении значения. Стратегия именования требуется, потому что NHibernate использует значение атрибута name в качестве имени свойства и должно быть указано, что такое имя поля.
  • ClassName Если NHibernate, построенный в стратегиях доступа, не является тем, что необходимо для вашей ситуации, тогда вы можете создать свой собственный, реализуя интерфейс NHibernate.Property.IPropertyAccessor. Значение атрибута доступа должно быть именем, соответствующим сборке, которое может быть загружено с помощью Activator.CreateInstance(string assemblyQualifiedName).

Стратегия именования может быть одной из следующих:

  • camelcase Атрибут name преобразуется в случай верблюда, чтобы найти поле.
  • camelcase-underscore Атрибут name преобразуется в футляр верблюда и с префиксом подчеркивания, чтобы найти поле.
  • строчный Атрибут name преобразуется в нижний регистр, чтобы найти поле.
  • нижний регистр-подчеркивание Атрибут name преобразуется в нижний регистр и имеет префикс подчёркивания, чтобы найти поле.
  • pascalcase-underscore Атрибут name имеет префикс подчёркивания, чтобы найти поле.
  • pascalcase-m Атрибут name имеет префикс символа m, чтобы найти поле
  • pascalcase-m-underscore Атрибут name имеет префикс символа m и подчеркивание, чтобы найти поле.