WCF и MVC3, системная архитектура. Передача модели представления с WCF? - PullRequest
0 голосов
/ 10 октября 2011

Я использую Entity Framework, Linq, WCF и MVC3. Система разделена на многоуровневый подход, и я использую WCF, потому что несколько систем будут использовать один и тот же доступ к данным и бизнес-логику.

Доступ к данным - Бизнес-логика - API (WCF) - Классы обслуживания - MVC

Для каждого просмотра в моем приложении MVC необходимо писать запросы LINQ, которые обращаются к различным таблицам в базе данных и показывают сводные данные, как показано ниже.

        var users =
           (from u in _userRepository.All
            from upd in u.UserPropertyData.DefaultIfEmpty()
            from upd1 in u.UserPropertyData.DefaultIfEmpty()
            where (upd.UserPropertyType.Alias == "Forename") && (upd1.UserPropertyType.Alias == "Surname")
            select new UserModel
            {
                Id = u.Id,
                Forename = upd.Value,
                Surname = upd1.Value,
                EmailAddress = u.Email
            });

Этот запрос находится в моем разделе бизнес-логики и передает UserModel через мой WCF API в мой класс Service, который передает модель моему контроллеру, который затем отображается в представлении.

Этот подход не кажется правильным, поскольку доступ к данным и бизнес-логика соединяются с MVC путем передачи «модели просмотра». Если кто-нибудь может придумать лучший подход, я был бы признателен.

1 Ответ

0 голосов
/ 10 октября 2011

Если я правильно понимаю, вы делаете доступ к данным через WCF?Если это так, я бы возвращал бизнес-данные (классы) через сервисы WCF, выполнял сопоставление с классами ViewModel через классы сервисов приложения MVC и затем передавал все модели представлений в контроллеры / представления.Пожалуйста, поправьте меня, если я неправильно понял ваш вопрос.

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