Представления и контроллеры MVC: создание экземпляров при отправке формы

Мы работаем с сущностями в наших контроллерах MVC, которые передаются строго типизированным представлениям.

Как мы восстанавливаем эти сущности в контроллере с обновленными данными, когда форма публикуется в представлении? Форма не содержит всех полей объекта, поэтому все данные, необходимые для повторного создания объектов, не будут присутствовать в привязке модели. Будет представлен только частичный набор данных.

Я не хочу перезагружать сущности, основанные на значениях ключей, прежде чем обновлять их опубликованными значениями, так как это 1) Неэффективно 2) Предотвращать оптимистический параллелизм с моими объектами POCO в Entity Framework, если я не сохраняю значение исходного поля параллелизма RowVersion

Но мой вопрос - это рекомендуемый способ?

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

Спасибо

1 ответ

Решение

Я просто сделал бы запрос в базу данных, чтобы получить сущность снова, и если вы беспокоитесь о параллелизме, то проверьте номер версии или что-то еще. Если ваша главная проблема - неэффективность, просто повторите запрос к БД, и если он действительно окажется неэффективным, тогда вы можете использовать какой-то тип кэша... какие еще есть варианты?

Другие вопросы по тегам