Как обновить сущность в Entity-Framework? - PullRequest
1 голос
/ 13 декабря 2010

Я создал веб-приложение ASP.NET MVC, которое использует Entity Framework.Чтобы обеспечить представление правильными данными, я создал специальные классы представления, представляющие части классов модели.

У меня есть 2 вопроса по этому поводу.

  1. Как мне лучше всегопреобразовать данные из объекта просмотра в объект модели?Сейчас я делаю это вручную в таких методах, как ViewClass.ToModel () и ViewClass.FromModel (ModelClass).Однако, если модель обновляется, то это преобразование может потребоваться обновить.Мне действительно нужно делать это вручную?

  2. При преобразовании объекта просмотра в объект объекта mode может случиться так, что некоторые свойства не будут установлены, поэтому значение будет равно null или string.empty.Проблема заключается в том, что при запуске refresh (в entityframework) эти пустые (не заданные) свойства будут перезаписывать реальные данные.Как мне справиться с этим?

Одним из решений может быть получение объекта-объекта из базы данных, а затем переносить только те свойства, которые были установлены для объекта-объекта?Проблема с этим может заключаться в том, что значение свойства может быть установлено равным нулю. Как узнать, установлено это свойство или нет?Или я должен написать специальные методы обновления в зависимости от действия?

BestRegards

1 Ответ

5 голосов
/ 13 декабря 2010

Как лучше всего преобразовать данные из объекта вида в объект модели?

AutoMapper

При преобразовании объекта просмотрадля объекта modelobject может случиться так, что некоторые свойства не будут установлены, поэтому значение будет нулевым или string.empty.Проблема заключается в том, что при запуске refresh (в entityframework) эти пустые (не заданные) свойства будут перезаписывать реальные данные.Как мне справиться с этим?

Если ваш уровень доступа к данным (независимо от того, какую технологию он использует, Entity Framework, NHibernate, ...) не способен справиться с этим сценарием, который вам может понадобитьсяспециально разработанные методы обновления, которые подходят для этих случаев.

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