【问题标题】:Breeze + EF with entity whose key is not identity (DatabaseGeneratedOption.None)Breeze + EF 与密钥不是身份的实体 (DatabaseGeneratedOption.None)
【发布时间】:2013-12-02 19:32:20
【问题描述】:

我在我的 asp.net mvc 4 项目 spa 中使用微风 + EF。

当使用用户设置的主键(未定义为身份或计算)创建实体时,用户必须在客户端设置此键。

通过更改客户端中的实体键的值并保存更改来编辑现有实体后:请求传输成功,服务器微风控制器执行 savebundle 并且一切似乎都按预期运行。然而,更改并未保存到数据库中(使用 sql 配置文件显示没有调用任何 sql 语句)。在更改不属于键的属性值时执行相同的过程可以按预期工作。有人遇到过这样的问题吗?

谢谢,
伊然

【问题讨论】:

    标签: asp.net-mvc entity-framework breeze


    【解决方案1】:

    使用 Breeze 更改现有实体(已附加到 EntityManager)的键是一个坏主意。在这种情况下,Breeze 可能会抛出异常,(我刚刚为此添加了一个内部错误项)。原因是从“实体”的角度来看,这实际上是两个操作的结合。 (插入和删除)。

    作为参考,实体框架内明确禁止此类操作。

    要创建相同的效果,您需要先删除当前实体,然后插入具有相同键的新实体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2015-12-08
      • 1970-01-01
      • 2012-01-16
      • 2023-03-28
      • 2012-09-12
      • 2015-01-08
      相关资源
      最近更新 更多