(与此问题相关,EF4:为什么在启用延迟加载时必须启用代理创建?).
我是DI的新手,所以请耐心等待.我知道容器负责实例化我所有已注册的类型,但为了做到这一点,它需要引用我的解决方案中的所有DLL及其引用.
如果我没有使用DI容器,我就不必在我的MVC3应用程序中引用EntityFramework库,只需引用我的业务层,它将引用我的DAL/Repo层.
我知道在一天结束时所有的DLL都包含在bin文件夹中,但我的问题是必须通过VS中的"添加引用"显式引用它,以便能够发布包含所有必需文件的WAP.
我有一个项目结构如下:.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# ×1