最近项目中使用了ado.net Entity Framework,但在分层构架时遇到疑惑,希望大家大家能指点迷津.
系统构架是这样的:运用了ado.net Entity Framework作为数据层,逻辑层调用数据层,返回的数据类型为实体框架中的Model实体,如下代码:
public IList<DataAccess.Role> GetRoles()
{
using (AdDataContext db = new AdDataContext())
{
return db.Roles.ToList<DataAccess.Role>();
}
}
然后在表现层(web)层调用逻辑层的方法GetRole,因为返回的数据类型是IList<DataAccess.Role>,这样表现层(Web)必须引用数据层,感觉这样失去了分层的必要性。后来参考了“分层式体系结构中的实体框架”中运用WCF的形式在表现层(Web)和逻辑层中间增加了一个服务层,表现层(Web)通过Wcf服务的形式调用服务层,但感觉这样的话可能会影响效率(通过WCF服务的形式,感觉有点像EJB)。有没有更好的方法?
繁花如伊
守着星空守着你
相关分类