【发布时间】:2013-11-17 15:11:30
【问题描述】:
我使用 nuget 安装了我的 4.0 MVC 项目 Entity Framework 6(以启用 ode first 迁移)。然后我尝试安装微风包Breeze.Server.ContextProvider.EF6。但是我缺少针对微风的程序集参考错误。
【问题讨论】:
标签: c# asp.net breeze entity-framework-6
我使用 nuget 安装了我的 4.0 MVC 项目 Entity Framework 6(以启用 ode first 迁移)。然后我尝试安装微风包Breeze.Server.ContextProvider.EF6。但是我缺少针对微风的程序集参考错误。
【问题讨论】:
标签: c# asp.net breeze entity-framework-6
我能够让 Breeze 使用 Entity Framework 6 在 .NET 4.0 上工作的唯一方法是使用 Breeze source code from GitHub 作为起点创建我自己的 EF6ContextProvider。
我创建了一个项目Breeze.WebApi.EF6 并添加了一个类EF6ContextProvider.cs,它几乎是官方Breeze.WebApi.EF 项目中EFContextProvider.cs 的直接副本。唯一真正的变化是重命名命名空间和类,并为 EF6 调整 using 语句(代码太长,无法发布)。这个项目有对 Breeze.Server.WebApi.Core 和 EntityFramework 的 NuGet 引用 - Breeze 包引入了一堆依赖项,我必须添加对几个系统程序集的引用才能编译它。
然后,在我的 MVC/WebAPI 项目中,我只有对 Breeze.Client 和 Breeze.Server.WebApi.Core 的 NuGet 引用以及对 Breeze.WebApi.EF6 项目的项目引用。
很明显,这有点小题大做。我创建了一个UserVoice item for official support。
【讨论】:
Breeze.Server.ContextProvider.EF6 似乎是您安装的唯一来自 Breeze 的软件包。这还不够。您需要安装“Breeze Server - for Web API 2”(Breeze.Server.WebApi2)。
您的 packages.config 中应该有这些行:
<package id="Breeze.Server.ContextProvider" version="1.4.5" targetFramework="net45" />
<package id="Breeze.Server.ContextProvider.EF6" version="1.4.5" targetFramework="net45" />
<package id="Breeze.Server.WebApi2" version="1.4.5" targetFramework="net45" />
【讨论】: