Entity Framework (Сущности классов) Сериализация

2

После прочтения о Enitity Framework у меня есть несколько вопросов:

1] Каков наилучший способ передачи объектов между уровнями?     a] Я должен создать более легкие DTO для этого или я могу эффективно сериализировать Entitiy и перенести его?

b], если я должен создать легкие DTO, для Efficency, и после того, как я увидел хорошее использование Automapper,         я не понял, как это экономит дополнительное кодирование (, если это его цель),         я имею в виду, нам нужно написать свойства класса Flattern (DTO), поэтому он сохраняет только ctor.

2] есть ли какая-либо точка Building Entitiy Classes назад из DTO?

спасибо.

Теги:
entity-framework
ado.net
automapper

2 ответа

2
Лучший ответ

Ответ на 1: Лучший способ переноса объектов между уровнями зависит от вашего приложения. Вы можете создать DTO, который является моим предпочтительным решением, хотя сериализация сущностей возможно, но вам нужно убедиться, что это на самом деле то, что вы хотите сделать и помните

"Когда вы используете сериализацию сечений двоичной и сериализации данных WCF, если сериализуемый объект имеет связанные объекты в графе объектов, эти объекты также сериализуются. Сериализация XML не сериализует связанные объекты."

Automapper работает путем автоматического сопоставления свойств, а не для записи всех утверждений о сантехнике, таких как:

dto.id = entity.id;
...
all other dto assignment operations

вы скоро увидите, что количество сантехнического кода складывается, поэтому сэкономит довольно много этого = этих строк кода, особенно если у вас есть классы просмотра, а также объекты dto, и я нашел, что это соответствует тому, что я хотел идеально. Насколько я знаю, automapper будет работать только в том случае, если имена совпадают между сущностью и DTO, и он может отображать между типами этих свойств. Вы можете добавлять правила сопоставления для преобразования между типами, но если dto и entity хранят данные в другом типе.

Ответ на 2: Если вы конвертируете объекты в DTO и изменяете их на более высоких уровнях, как вы планируете сохранять их обратно через инфраструктуру сущности? Обычно вы просто конвертируете их обратно в соответствующие объекты/создаете новый объект и отправляете эти изменения.

  • 0
    сохранение кода dto.id = entity.id?, не совсем вау, в любом случае у меня все еще остаются вопросы без ответа, является ли передача сущностей в dtos лучшим способом? или сериализация сущностей тоже возможен вариант?
  • 0
    что ты хотел это сделать? Я не могу сказать, что является «лучшим», но это зависит от вашего приложения и предпочтений. Я обновил свой ответ несколькими пунктами, которые должны ответить на все ваши вопросы.
Показать ещё 1 комментарий
0

Вы хотите посмотреть RIA Services. Он построен именно для этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню