【发布时间】:2011-10-10 09:46:01
【问题描述】:
我正在使用实体框架、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
});
此查询位于我的业务逻辑部分,并通过我的 WCF API 将用户模型传递给我的服务类,该服务类将模型传递给我的控制器,然后显示在视图中。
这种方法似乎不正确,因为数据访问和业务逻辑通过传回“视图模型”与 MVC 耦合。如果有人能想到更好的方法,我将不胜感激。
【问题讨论】:
标签: wcf asp.net-mvc-3 entity-framework