Служба WCF жалуется на столбцы, помеченные как rowversion - PullRequest
0 голосов
/ 12 ноября 2009

В настоящее время я играю с Silverlight3, C # и LinqToSQL. Я создал базу данных на сервере SQLExpress с несколькими таблицами, например:

Сотрудники (Id, Name, DepartmentId, TimeStamp) Отделы (Id, Name, TimeStamp)

Поля Id - это VarChar (50), поля имени - это VarChar (100), а поля TimeStamp имеют тип timestamp.

В моем решении Silverlight у меня есть два проекта: Серверная часть, которая включает в себя модель LinqToSQL, представляющую базу данных, и WCFService, включая методы для запроса объектов с помощью запросов linq, что делает данные доступными для второго проекта. Второй проект - это простое приложение Silverlight, которое должно получать результаты от сервиса и отображать их на странице.

Эти запросы подходят для некоторых объектов, другие вызывают исключение операции (еще до того, как запросы будут выполнены), которое говорит следующее: Элементы «Byte [] TimeStamp» и «System.String Id» оба помечены как преобразование строк.

Я дважды проверил все, даже удалил эти таблицы из конструктора и добавил их снова, но не повезло, я продолжаю получать эти ошибки. Все таблицы почти идентичны, но почему-то эта ошибка вызывает только некоторые из них, в то время как другие в порядке. Столбец TimeStamp имеет тип Byte [], а столбец Id имеет тип System.String внутри модели LinqToSQL. Но только TimeStamp помечается как метка времени и объявляется как версия строки NOT NULL для своего типа данных сервера. Столбец Id с другой стороны не имеет ни одного из установленных значений, что заставило бы меня догадаться, почему выдается ошибка, связанная с этим конфликтом версий строк. Есть ли какие-либо предложения, которые могут вызвать этот конфликт?

1 Ответ

1 голос
/ 12 ноября 2009

Открытие файла .dbml с помощью texteditor и удаление всех атрибутов IsVersion = "true" в проблемных узлах Id решило проблему. Дизайнер DBML в Visual Studio 2008 не показывал эти свойства как включенные даже после включения и выключения их в конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...