Свободный NHibernate: Как отобразить весь класс как ReadOnly? - PullRequest
19 голосов
/ 20 мая 2010

У меня есть несколько классов, которые читают из очень деликатных таблиц, поэтому я хочу, чтобы NHibernate использовал их как «ReadOnly». Создание .ReadOnly () на каждой карте поля действительно неаккуратно, и я не уверен, что доверяю этому. Как настроить класс так, чтобы он был полностью доступен только для чтения, как я легко могу сделать с традиционными сопоставлениями XML?

Редактировать : Ответ работает. Я ожидал, что он выдаст исключение, если я попытаюсь сохранить объект ReadOnly (), но он просто молча делает это.

Спасибо.

Ответы [ 2 ]

35 голосов
/ 20 мая 2010

С Fluent NHibernate это так просто, как:

class EntityMap : ClassMap<Entity>
{
    public EntityMap()
    {
        ReadOnly();

        // Mappings
    }
}
15 голосов
/ 11 мая 2012

Свойство ReadOnly () на самом деле НЕ работает так, как вы ожидаете. Использование этого свойства гарантирует, что полученные вами объекты доступны только для чтения, поэтому вы не можете их ОБНОВИТЬ. Однако это НЕ препятствует созданию новых записей или даже удалению существующих записей в базе данных!

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