我使用nuget安装了我的4.0 MVC项目Entity Framework 6(以启用ode首次迁移)。然后我尝试安装breeze包Breeze.Server.ContextProvider.EF6。但是我错过了微风的装配参考错误。
答案 0 :(得分:2)
我能够让Breeze使用Entity Framework 6在.NET 4.0上工作的唯一方法是使用Breeze source code from GitHub作为起点创建我自己的EF6ContextProvider。
我创建了一个项目Breeze.WebApi.EF6
,并添加了一个类EF6ContextProvider.cs
,它几乎是官方EFContextProvider.cs
项目中Breeze.WebApi.EF
的直接副本。唯一真正的变化是重命名命名空间和类,并调整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。
答案 1 :(得分:0)
似乎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" />