Я планирую использовать Dapper для поиска и NHibernate для операций CRUD. Итак, было бы неплохо следовать этому подходу. Одна из проблем, с которыми я недавно столкнулся, связана с экранами CRUD.
Предположим, у меня есть форма редактирования заказа. Я получаю объект (порядок) из Dapper, и при его обновлении мне нужно присоединить эти объекты к сеансу NHibernate для выполнения операций CRUD. Это не совсем то, что требуется, я имею в виду object.delete ().
Может ли кто-нибудь дать предложения по этому дизайну и есть ли возможность его улучшить. Это веб-приложение, разработанное с использованием asp.net mvc 3.
Вопросы по ответу:
Означает ли фильтр сеанса по действию то, что мы используем для текущей операции. Если да, то должен ли для операции GET быть [DapperSession] вместо [NHSession]?
[NHSession] ‹< -------- [DapperSession] ПОЛУЧИТЬ РЕЗУЛЬТАТ ДЕЙСТВИЯ
- DapperSession.Get.Entity(1000)
- Обратный вид
Я все еще пытаюсь понять шаблон PRG, который вы опубликовали, я отправлю его, если у меня возникнут сомнения.
Поскольку все это происходит для операции «EDIT», было бы разумно просто получить объект с помощью NHibernate. Это избавляет от всего этого процесса с небольшими накладными расходами.