Подтвердить что ты не робот

Сервисы данных ADO.NET с Linq-to-SQL

Я встречаю странную ошибку при использовании linq-to-sql с сервисами данных ado.net. У меня есть приложение silverlight, которое подключается к удаленной базе данных. Сначала я добавил класс linq-to-sql и перетащил таблицу в конструктор. Затем я добавил службу данных ADO.NET, обновил ссылку DataService, чтобы указать на контекст данных L2S.

Составлено без проблем.

Когда я открываю службу в IE, я сразу получаю сообщение об ошибке, поэтому добавляю в службу данных следующий атрибут:

[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]

Это приведет к подробному сообщению об ошибке:

Сообщение об исключении: "В контексте контекста данных" DataClasses1DataContext "имеется верхнее свойство" таблица1 "IQueryable, тип элемента которого не является типом сущности. Убедитесь, что свойство IQueryable имеет тип сущности или указывает атрибут IgnoreProperties для типа контекста данных, чтобы игнорировать это свойство

это происходит с любой таблицей базы данных, которую я использую в дизайнере L2S!

Какова эта ошибка и почему я ее получаю?

4b9b3361

Ответ 1

Вам необходимо украсить ваши классы атрибутом DataServiceKey.

Подробнее о блоге Marc здесь и в блоге MSDN здесь (последний говорит о многих отношениях во многих отношениях, но он охватывает атрибут DatServiceKey).