NHibernate - Обновление только указанных свойств объекта, определенных во время выполнения. - PullRequest
0 голосов
/ 09 ноября 2011

Я пытаюсь реализовать очень детальный модуль безопасности в приложении ASP.NET MVC 3, где только определенные пользователи могут редактировать определенные столбцы записей в таблице. Я могу себе представить, что список столбцов в обновленном операторе SQL будет включать только те столбцы, которые пользователь имеет право изменять. Дело в том, что я планирую использовать ORM, как NHibernate. Мне интересно, если NHibernate предоставляет способ определить во время выполнения, какие свойства модели должны быть частью обновления. Или это мой единственный вариант, чтобы при методе POST снова получить модель из базы данных, установить только те свойства, которые пользователь может установить, а затем, наконец, сохранить модель. Кроме того, это хороший способ справиться с моим требованием гранулированной безопасности?

1 Ответ

1 голос
/ 09 ноября 2011

Достаточно ли будет динамического обновления и динамической вставки?

dynamic-update (необязательно, по умолчанию false): указывает, что SQL UPDATE должен генерироваться во время выполнения и содержать только те столбцы, значения которых изменились.

dynamic-insert (необязательно, по умолчанию false): указывает, что INSERT SQL должен генерироваться во время выполнения и содержать только столбцы, значения которых не равны NULL.

В противном случае это может быть возможно с событиями или перехватчиками, но я никогда не использовал их, поэтому точно не знаю.

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