【发布时间】:2014-08-08 16:42:31
【问题描述】:
我有一个项目“Project.EntityFramework”,其中包含我的数据库的上下文。当尝试在同一解决方案“Project.Business”中使用来自单独项目的上下文时,例如:
using (var db = new EntityFramework.Entities())
{
// Code
}
“使用”时出现编译器错误:
Error 12 'EntityFramework.Entities': type used in a using statement must be implicitly convertible to 'System.IDisposable' ....
现在我可以 F12 并向下钻取到实体,并看到它正在实现 IDisposable - 如果我将引用 dll 放入“Project.Business”中的实体框架,我可以消除此错误,但这违背了什么目的我想要完成 - 在我的业务层中不依赖任何 EF。
我做错了吗?或者这就是它必须的样子?
【问题讨论】:
-
如果你的业务层不想对EF有任何依赖,那么你的EF项目应该返回不依赖EF的东西,返回
Entities这意味着你将直接使用EF对象、DbSet、DbContext、DbConfiguration、Database等...您可能希望返回更原始的内容,例如IEnumerable<T>
标签: c# .net entity-framework entity-framework-5