在RIA中创建新实体时出现异常

时间:2010-11-17 20:29:45

标签: silverlight ria

我使用 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',表Scripts,列不允许空值。 INSERT失败。


当我尝试调试时,它进展顺利(服务),并且该实体(脚本)已设置'Id'为某个唯一值。看起来EntityFramework不会将“Id”发送到数据库。这是可能的 ? :)

“脚本”实体只有两列: - Id(Guid),User(int),还没有任何外键。

我是否错过了设置的东西?谢谢。

2 个答案:

答案 0 :(得分:4)

您最初是否创建了没有Identity Specification列的表,然后将PK作为标识?如果需要,您需要刷新模型。

还要确保PK上有[Key]属性。

答案 1 :(得分:2)

好的,谢谢你的回答。如果我从数据库更新我的模型,它可能会工作。但我这样做了 - 从模型创建了数据库。

现在我知道,我必须 StoredGeneratedPattern 身份设置为**无**