0

我有一个使用带有实体框架的 RIAServices 的现有项目。该项目正确构建并生成 AmsiWeb.g.cs 文件,其中包含我的服务的所有上下文类。

我正在使用 Code First 实体和 DbContext 转换基于设计器的实体和 ObjectContext。我将 RIAServices.EntityFramework NuGet 包安装到包含我的服务的 Web 应用程序中。但是,现在当我构建 AmsiWeb.g.cs 文件时只包含 WebContext 类。它不包含任何生成的服务。

我此时仅将单个 EDMX 模型转换为 Code First 和 DbContext,并对使用该模型从 DbDomainService 继承的服务进行了必要的更改。

我正在使用 EF 5.0... 不确定这是否重要,因为我不确定将 DLL 添加到 AmsiWeb 应用程序项目会如何破坏代码生成。

什么会导致它不再起作用,我该如何解决?

4

2 回答 2

0

也许这是生成代理代码的 msbuild 任务中的一个问题(我的意思是 *.g.cs 文件)。可能它正在寻找错误版本的实体框架。看看这篇博文http://mcasamento.blogspot.it/2012/10/entity-framework-5-code-first-and-wcf.html在最后一部分我写了一个程序集重定向语句来解决问题

于 2013-08-30T21:46:17.460 回答
0

事实证明,他们需要在 web.config 中重定向实体框架 5.0(4.4.0.0,因为我使用的是 .Net 4.0)。但是,由于我的 RIA 服务位于不是我的根项目的 Web 应用程序项目中,因此代码没有生成。

一旦我将重定向添加到其中包含 RIA 服务的 Web 应用程序的 web.config,上下文代码就会正确生成。

于 2013-09-04T14:59:02.003 回答