Почему я не могу установить ReadOnly для сопоставления Fluent NHibernate References ()? - PullRequest
4 голосов
/ 29 апреля 2009

В Fluent NHibernate References () возвращает объект, который не поддерживает метод ReadOnly ().

Я пытаюсь создать такой вид сопоставления (то есть, когда обновление не распространяется на указанный элемент):

<many-to-one update="false" insert="false" 
name="DestinationSheet" column="DestinationSheetNumber" />

В обычных (map ()) сопоставлениях эти два атрибута могут быть установлены с помощью ReadOnly ().

Я бы хотел сделать что-то вроде этого:

References(x => x.DestinationSheet).
       ColumnName("DestinationSheetNumber").ReadOnly();

Я могу вручную добавить атрибуты обновления и вставки с помощью SetAttributes (), и это работает нормально, но я обеспокоен тем, что тот факт, что ReadOnly () отсутствует в References (), является подсказкой, которую я не должен пытаться сделать это.

Кто-нибудь знает, почему ReadOnly () недоступен в этом контексте?

Ответы [ 3 ]

5 голосов
/ 29 апреля 2009

Это просто еще не реализовано. Со временем мы будем поддерживать все функции NHibernate, но до тех пор существует метод SetAttribute, позволяющий вам продолжить.

В качестве отступления мы принимаем патчи!

0 голосов
/ 30 августа 2009

Реализация ответа, предоставленного Джеймсом Грегори,

References(x => x.Store).TheColumnNameIs("StoreId").SetAttribute("update","false");
0 голосов
/ 29 апреля 2009

References создает отображение многие-к-одному, а в соответствии с документацией , только чтение не поддерживается для этого отображения. Ваш подход настройки обновления и вставки в ложные звуки прямо мне. AFAIK, проект Fluent NHibernate планирует поддерживать все функции сопоставления NHibernate, но до тех пор вам придется использовать SetAttributes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...