如何在.NET 4.0中使用Entity Framework 6与Breeze?

4
我使用nuget安装了我的4.0 MVC项目,Entity Framework 6(以启用第一次迁移)。然后我尝试安装breeze包Breeze.Server.ContextProvider.EF6。但是我遇到了缺少breeze程序集引用的错误。
2个回答

2
我能够让Breeze在.NET 4.0上与Entity Framework 6一起工作的唯一方法是使用GitHub上的Breeze源代码创建自己的EF6ContextProvider。
我创建了一个名为Breeze.WebApi.EF6的项目,并添加了一个名为EF6ContextProvider.cs的类,该类几乎是官方Breeze.WebApi.EF项目中EFContextProvider.cs的直接副本。唯一真正的更改是重命名命名空间和类,并调整了EF6的using语句(代码太长无法发布)。该项目具有对Breeze.Server.WebApi.CoreEntityFramework的NuGet引用- Breeze包会拉取一堆依赖项,我必须添加对一些系统程序集的引用才能使其编译通过。
然后,在我的MVC/WebAPI项目中,我只需添加对Breeze.ClientBreeze.Server.WebApi.Core的NuGet引用以及对Breeze.WebApi.EF6项目的项目引用。
显然,这有点像黑客行为。我已经为官方支持创建了一个UserVoice条目

0

看起来你只安装了 Breeze.Server.ContextProvider.EF6 包,那是不够的。你需要安装“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" />

我需要在.Net 4.0中完成这个任务。但是Breeze.Server.WebApi2需要4.5。 - Prashan Fernando

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接