Entity Framework и сущности с самопроверкой и POCO - PullRequest
4 голосов
/ 24 мая 2011

Если я хочу использовать платформу сущностей 4 в качестве уровня данных и хочу отправить мои сущности на другой уровень, будь то через WCF или другой механизм, а затем хочу возможность обновлять сущности и отправлять их обратно для обновления /удаление / вставка - лучше ли использовать самосопровождающие объекты или объекты poco?

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

1 Ответ

8 голосов
/ 25 мая 2011

Это комбинация слишком многих вопросов, и большинство из них уже задавались на SO:

Использование STE не сделает ваш верхний уровень зависимым от EF, но, как описано во второй ссылке, STE не являются решением для каждого приложения. У STE есть некоторые другие ограничения, например, даже на стороне сервера вы не можете использовать отложенную загрузку , вы не можете применять изменения, когда сущность в том же ключе уже существует в контексте и т. Д.

Использование POCO и WCF означает, что вы будете работать с отсоединенными сущностями и вам нужно будет сказать EF, что изменилось. Это может быть просто в случае обновления одного объекта , и также возможно обновить только некоторые поля из одного объекта , но это может быть очень сложным при обновлении графа объектов особенно, когда вы можете удалить отношения на клиенте (в таком случае проще всего сначала загрузить граф сущностей и объединить входящие изменения с присоединенными сущностями).

...