我有一个实体框架 4 的 n 层应用程序设计问题。
在服务器端,我的应用程序有 3 层: - 一个服务层 (WCF) - 一个业务层 - 一个数据访问层(使用 EF4)
实体是 POCO,放置在独立的项目/程序集中。
我使用依赖注入来创建业务对象和数据访问层,因此我只使用接口,并且我的业务层不依赖于 EF。
我想使用 EF Compiled Queries 来提高性能。
但是我的(业务)查询是在业务层中定义的,因为在我的架构中,DataAccess 仅提供 CRUD 方法。
所以编译的查询应该在业务层中定义,但我对 EF 没有依赖,也不希望保持松耦合,因此,我不能从那里调用 ObjectContext。
在 DataAccess 中定义查询不适合我的应用程序设计。
那么有谁知道是否有一种通用的方法可以将业务查询从业务层注入到 DataAccess 层,以便我可以将它们与编译查询一起使用?
我已经尝试了很多东西,到处看了看,但找不到答案…… :( 看起来 EF 不适合那种 n 层应用程序。