为什么Project Compile没有引用实体框架?

时间:2012-05-13 00:08:29

标签: entity-framework

我在解决方案中有很多项目。其中一个项目称为MyDAL,定义了许多业务对象,并使用Entity Framework通过

来持久化它们。
public class MyContext : DbContext

我刚刚在解决方案中添加了一个新项目,忘了引用实体框架。

MyContext仍然可用!没有编译错误(我想我会得到一个编译错误告诉我我错过了对定义DbContext的程序集的引用)。

我可以在MyContext中引用我自己的任何属性。但是,

using (MyContext ctx = new MyContext())

给出编译器错误

  

'MyNs.MyContext':在using语句中使用的类型必须是隐式的   可转换为'System.IDisposable'

ctx.SaveChanges();

给出错误

  

'MyNs.MyContext'不包含'SaveChanges'的定义   没有扩展方法'SaveChanges'接受......的第一个参数

这几乎就像编译器默默地改变了

public class MyContext : DbContext

public class MyContext : object

我知道如何解决错误(添加缺少的引用),但我很好奇为什么在我开始引用DbContext的方法和接口之前首先编译代码。

0 个答案:

没有答案