Ошибка System.ComponentModel.INotifyDataErrorInfo при доступе к объекту EF4 из службы WCF - PullRequest
2 голосов
/ 07 декабря 2011

У меня есть библиотека классов EF4, на которую ссылается веб-проект моего приложения Silverlight. Материал EF4 работает нормально, и я могу правильно использовать его в приложении Silverlight. У меня есть операция, которая собирает 2 набора данных из 60000 строк, сравнивает их и использует один для обновления другого. У меня есть такая работа в приложении Silverlight, но я уверен, что это не то место, где нужно это делать, поскольку нет никакого визуального вывода, это операция с данными, поэтому я создал службу WCF с поддержкой Silverlight, и добавил код сравнения / обновления, думая, что было бы правильнее запустить его на сервере и просто вызвать его из приложения SL.

Когда я пытаюсь построить веб-проект, я получаю следующую ошибку

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, поскольку это веб-проект, но я предполагаю, что возможно использовать сущности EF4 в службе WCF с поддержкой Silverlight (или, возможно, именно в этом я и ошибаюсь).

Любая помощь или совет о том, как использовать EF4 из службы WCF (которую можно вызывать из приложения Silverlight), или о том, как избежать этой ошибки, будет наиболее ценной.

Спасибо

Мик

1 Ответ

0 голосов
/ 08 декабря 2011

Пытался собрать это несколько раз, но постоянно получал одну и ту же ошибку.Я создал тестовое приложение на своем ноутбуке с такой же настройкой, и оно заработало (после добавления ссылки на System.Data.Entity).

Я проверил проект на своем рабочем столе, и эта ссылка уже существуетно у меня был ряд ненужных «использующих» утверждений.Я их убрал, и проект тогда правильно построили.Из любопытства я отменил удаление и сделал еще одну сборку, и она все еще построена правильно, поэтому я подбираю эту штуку к какой-то причудливой комбинации вещей, из-за которой VS получал свои крутки в поворот.M

...