Дизайн WCF + Entity Framework - PullRequest
       12

Дизайн WCF + Entity Framework

2 голосов
/ 27 февраля 2011

Мне было интересно, как спроектировать это лучше всего.

В моем приложении ASP.NET MVC у меня есть база данных, и я хочу использовать WCF для обработки всего моего взаимодействия с этой базой данных через EF.Итак, я создал Entity Model для сервиса, который я использую для взаимодействия с базой данных.Чтобы взаимодействовать с WCF из приложения ASP.NET, я создал DTO для каждой модели EF (у меня есть только 3) и класс Converter для преобразования из моделей EF в DTO и наоборот.

На заметку ... можно ли будет избегать использования DTO и просто вместо этого передавать модели EF?- Я пытался, но безуспешно, так как клиентское приложение asp.net не распознает эти модели.

Это подходящий способ разработки этого или другой подход будет лучше?

Спасибозаблаговременно.:)

1 Ответ

5 голосов
/ 27 февраля 2011

Эта архитектура действительно используется в ситуациях, когда бизнес-логика и логика доступа к данным развернуты на другом сервере, а не во внешнем интерфейсе asp.net. Причиной такой архитектуры может быть политика компании, безопасность, масштабируемость и т. Д. Но обычно это делается для более крупных проектов.

Вы сказали, что у вас есть 3 "модели EF". Означает ли это, что у вас есть 3 файла EDMX или 3 объекта? Если вы имеете в виду 3 сущности, то ваш проект, вероятно, очень мал и если вы действительно не должны использовать эту архитектуру (прямое требование) или если вы не делаете только какой-то тестовый проект, то нет причин делать это.

Как вы используете DTO? Это просто (или очень близко) 1: 1 сопоставление с EF-сущностью? В таком случае вы пропустили цель DTO и, скорее всего, вам это не нужно. Если ваша служба предоставляет операции CRUD, вы можете напрямую использовать объекты EF (но вы должны использовать POCO или STE).

Более того, если вы просто хотите представить модель EF в качестве службы CRUD, вам следует проверить Службы данных WCF .

...