我正在使用一个使用实体框架访问 mysql 数据库的简单守护程序。该解决方案包含两个项目:
- 测试守护进程
- 测试数据访问
Test.DataAccess
将包含所有用于代码优先的类TestDbContext
,还包含一个派生自DbContext
- EntityFramework 5 是通过 NuGet 安装的
Test.DataAccess
Test.DataAccess
引用于Test.Daemon
现在,当我尝试在其中使用以下内容时,Test.Daemon
它抱怨缺少对 EF 的引用:
TestDbContext ctx = new TestDbContext();
结果错误: “System.Data.Entity.DbContext”类型是在未引用的程序集中定义的。您必须添加对程序集 'EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的引用
只要我在Test.Daemon
代码中引用 EF 就可以正常工作。
为什么引用包含派生类的项目并且本身具有对其派生类的引用是不够的?