Исключение при создании нового объекта в RIA - PullRequest
2 голосов
/ 17 ноября 2010

Я использую RIA + Silverlight (возможно, последние версии), Entity Framework.Когда я вставляю строку с кодом

 var context = new DataService();
 var script = new Script { Id = Guid.NewGuid(), User = User.Id };
 context.Scripts.Add(script);
 context.SubmitChanges((o) =>
     {         
      if (!o.HasError)
       {} // OK, but has never gone here yet
      else
       {
         o.MarkErrorAsHandled();
         Messaging.MessageBox("some error" + o.Error.Message);
        }
      }, null);

... выдает исключение


Невозможно вставить значение NULL в столбец 'Id', Скрипты таблицы, столбец не допускает нулевые значения.INSERT терпит неудачу.


Когда я пытаюсь отладить, он идет хорошо (к обслуживанию), и эта сущность (Сценарий) УСТАНОВИЛА 'Id' к некоторому уникальному значению,Похоже, EntityFramework не отправляет этот «идентификатор» в базу данных.Возможно ?:)

Сущность 'Script' имеет только два столбца: - Id (Guid), User (int) и еще не имеет какого-либо внешнего ключа.

Я пропустил что-то для установки?Спасибо.

Ответы [ 2 ]

4 голосов
/ 18 ноября 2010

Вы изначально создали таблицу без столбца Спецификация идентификации, а затем сделали PK идентификатором? Если это так, вам нужно обновить вашу модель.

Также убедитесь, что атрибут [Key] находится на вашем ПК.

2 голосов
/ 18 ноября 2010

Хорошо, спасибо за ответ. Возможно, это сработает, если я обновлю свою модель из базы данных. Но я сделал это иначе - создал базу данных из модели.

Теперь я знаю, мне нужно установить StoredGeneratedPattern от Идентичность до ** Нет **

...