我将如何使用带有.net 4.0的实体框架6的breeze

时间:2013-11-17 15:11:31

标签: c# asp.net breeze entity-framework-6

我使用nuget安装了我的4.0 MVC项目Entity Framework 6(以启用ode首次迁移)。然后我尝试安装breeze包Breeze.Server.ContextProvider.EF6。但是我错过了微风的装配参考错误。

enter image description here

2 个答案:

答案 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.CoreEntityFramework的NuGet引用--Breeze包引入了一堆依赖项,我不得不添加对几个系统程序集的引用以使其编译。

然后,在我的MVC / WebAPI项目中,我只有Breeze.ClientBreeze.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" />