小编die*_*ohb的帖子

Ioc/DI - 为什么我必须在应用程序的入口点引用所有层/组件?

(与此问题相关,EF4:为什么在启用延迟加载时必须启用代理创建?).

我是DI的新手,所以请耐心等待.我知道容器负责实例化我所有已注册的类型,但为了做到这一点,它需要引用我的解决方案中的所有DLL及其引用.

如果我没有使用DI容器,我就不必在我的MVC3应用程序中引用EntityFramework库,只需引用我的业务层,它将引用我的DAL/Repo层.

我知道在一天结束时所有的DLL都包含在bin文件夹中,但我的问题是必须通过VS中的"添加引用"显式引用它,以便能够发布包含所有必需文件的WAP.

dependency-injection castle-windsor inversion-of-control

114
推荐指数
3
解决办法
2万
查看次数

EF4:为什么启用延迟加载时必须启用代理创建?

我有一个项目结构如下:.Persistence -> .Repo -> .Services -> .Controllers -> MVC3 App。

每一层都有一个各自的带有接口的程序集,还有一些其他的程序集,如 .Entities、.ViewModels 和通用代码程序集。

持久性- 这包含 EF4 数据上下文(代码优先)和对 EF4.3 的引用。有一个名为 GetContext() 的用于创建上下文的工厂,该工厂实现了 IDisposable。这不是一个单身人士,因为我认为这就是 Windsor 会用 LifestyleSingleton() 为我做的事情。
Repo - 这包含实现存储库和规范模式的存储库(http://huyrua.wordpress.com/2010/07/13/entity-framework-4-poco-repository-and-specification-pattern/)。

其他层是不言自明的......

问题:
1、为什么启用延迟加载后还要启用代理创建?
2. 如果我想设置lazyloading = false,我可以将Service 层中的IEnumerable 转换为ObjectQuery 以便在那里使用.Include() 吗?

c# entity-framework entity-framework-4.3

1
推荐指数
1
解决办法
1481
查看次数