Ошибка INSERT в Linq2Sql, DomainService & DynamicData 4.0: «... требуется идентификатор» - PullRequest
0 голосов
/ 02 сентября 2010

Я работаю над приложением Webforms (в VS 2010, .net 4.0, VB), которое использует SQL2008, Linq2Sql, доменные службы и динамические данные.

Моя проблема в том, что, когда я пытаюсь вставить новую запись, я получаю сообщение об ошибке: «..CustomerId required» но идентификатор установлен как первичный ключ и идентификатор в базе данных, а объект «Клиент» в модели данных L2S также помечен как

<Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_CustomerId", AutoSync:=AutoSync.OnInsert, DbType:="Int NOT NULL IDENTITY", IsPrimaryKey:=true, IsDbGenerated:=true)> _

Таким образом, нет необходимости вручную указывать идентификатор клиента.

У кого-нибудь был такой же опыт? Что я делаю не так?

Заранее спасибо за помощь.

GM

Вот небольшое обновление: Я добавил другой проект, в основном ту же настройку, что и выше, но без класса DomainService. Так что это просто Linq2Sql и динамические данные. Я использовал ту же базу данных. Вставка работает нормально, никаких всплесков здесь. Похоже, проблема в доменной службе.

Любая помощь будет оценена.

Спасибо GM

1 Ответ

0 голосов
/ 06 сентября 2010

[Копирование ответа в ветку asp.net , так что и этот закрывается]

Привет, Герхард,

Пожалуйста, посмотрите на эту ветку , которая, как мне кажется, обсуждает ту же проблему. Ну, это обсуждает две разные проблемы, и это одна из них. Короче говоря, решение состоит в том, чтобы добавить атрибут ScaffoldColumn (false) в свойстве ID в классе метаданных (тот, который был создан при создании веб-службы).

Надеюсь, это поможет, David

...