我使用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 似乎没有将该“Id”发送到数据库。这是可能的 ? :)
“脚本”实体只有两列: - Id (Guid)、User (int),并且还没有任何外键。
我是否错过设置某些内容?谢谢。
最佳答案
您最初是否创建了没有身份规范列的表,然后将 PK 设置为身份?如果是这样,您需要刷新您的模型。
还要确保 [Key] 属性位于您的 PK 上。
关于silverlight - 在 RIA 中创建新实体时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208856/