从WCF服务访问EF4实体时出现System.ComponentModel.INotifyDataErrorInfo错误

时间:2011-12-07 14:40:27

标签: wcf silverlight-4.0 entity-framework-4 wcf-ria-services

我有一个EF4类库,在我的Silverlight应用程序的web项目中引用。 EF4的工作正常,我可以在Silverlight应用程序中正确使用它。我有一个操作,它将引入2个60,000多行的数据集,比较它们,并用一个来更新另一个。我已经在Silverlight应用程序中工作,但我很确定它是错误的地方,因为没有任何视觉输出,它是一个数据操作,所以我创建了一个支持Silverlight的WCF服务,并且将比较/更新代码添加到其中,认为在服务器上运行它更为正确,只需从SL应用程序调用它。

当我尝试构建Web项目时,出现以下错误

The type 'System.ComponentModel.INotifyDataErrorInfo' is defined in an assembly that is not referenced.  You must add a reference to 'System.Windows, Version=2.0.5.0'

在这行代码上

List<x3Servers> x3List = (from s in x3Context.x3Servers select s).ToList();

其中x3Servers是我数据库中的实体,而x3Context设置为数据模型,服务实体对象(XSDataLibrary.Models.xSightEntities)。

我认为这与将InotifyDataErrorInfo从System移动到System.Windows以获取Silverlight应用程序有关。我不能包含System.Windows,因为它是一个Web项目,但我假设可以在启用Silverlight的WCF服务中使用EF4实体(或者可能是我出错的地方)。

有关如何从WCF服务(可以从Silverlight应用程序调用)中使用EF4内容的任何帮助或建议,或者如何避免此错误将是最受欢迎的。

由于

米克

1 个答案:

答案 0 :(得分:0)

尝试多次构建,但不断得到同样的错误。我在笔记本电脑上创建了一个测试应用程序,使用相同的设置,并且它有效(在添加对System.Data.Entity的引用之后)。

我在桌面上检查了项目,并且该引用已经存在,但我有一些不必要的“使用”语句。我删除了它们,然后项目正确构建。出于好奇,我解除了删除并做了另一个构建,它仍然正确构建,所以我将这一个粉碎到一些奇怪的组合,导致VS扭曲。

中号