运用实体框架分层之困惑

 最近项目中使用了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)。有没有更好的方法?


一只萌萌小番薯
浏览 610回答 2
2回答

繁花如伊

表现层&nbsp; ==> 服务层&nbsp; ==> 逻辑层 ==> 数据层这种方法不错啊。都是弱连接。除了(逻辑层 ==> 数据层)之间。分层并不意味着可以降低效率或者提高效率。这要看你对分层的真正理解,以及项目的扩展性,维护性方面的认识。:)

守着星空守着你

表现层引用数据层有什么不好的吗?
打开App,查看更多内容
随时随地看视频慕课网APP