问题标签 [savechanges]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
311 浏览

asp.net-mvc - 如何使用 WCF 数据服务保存具有相关实体集合的实体

我有一个与新 InputOutputMap 相关的新 ParameterPart 实体。InputOutputMap 有几个我从数据库中提取的 InputStates,我需要与 InputOutputMap 关联。如何使用 MVC 和 WCF 数据服务将此链保存到数据库?我正在使用以下代码(通过 ajax 调用调用,上下文仅在构造函数的第一次调用中设置)但遇到了几个问题:

  • 当我使用 AddLink(如下所示)时,我可以在第一次尝试时添加数据(无论我必须关联多少输入状态)。但是,如果再次调用该方法(通过 ajax),我只能在指定一个输入状态时添加数据。如果我有多个输入状态,我会得到上下文已经在跟踪关系。请注意,该方法是使用 ajax 调用来调用的。
  • 我曾尝试使用 SetLink、AddRelatedObject 和 attach,但每次在上述情况下都会出错。有时,错误是上下文已经在跟踪实体或关系。在其他时候,上下文不跟踪实体。
  • 当我在方法而不是构造函数中设置上下文时,我没有得到任何好处。

    /li>
0 投票
1 回答
1431 浏览

entity-framework - 实体框架使用复合键插入行

我正在使用 Entity Framework 4.3.1 并尝试将新记录插入到我的ProductVersion实体所基于的表中。

ProductVersion实体具有 2 个属性,它们构成名为ProductId和的表的复合主键ProductOrdinal

每当有人更新产品条目时,我都会创建一个ProductVersion实体并将其传递回我的存储库,增加ProductOrdinal属性,并尝试将实体添加到上下文并保存它。

我不断收到以下错误:

属性“ProductOrdinal”是对象的关键信息的一部分,不能修改。

构成键的列都不是自动编号的,我在我的 POCO 中注释了以下属性:

0 投票
2 回答
1506 浏览

c# - 保存添加额外的小数位

我有一个定义为十进制(9,9)的数据库字段。C# 中的 edmx 模型将此字段映射到精度和小数位数为 9 的十进制变量。

我将数字 5 放入变量中。我可以检查的所有地方都将值显示为 5(在局部变量、实体类实例、数据上下文等中)。

此时的DataContex.SaveChanges()值被转换为“5.000000000”。尽我所能告诉实体框架在尝试保存到数据库之前将值添加 9 个小数位。这会导致错误,因为该值现在有太多数字。

有谁知道是什么导致了这种行为以及如何改变它?

附加信息- 我首先在 Microsoft SQL 2008 R2 中创建我的数据库。然后我从数据库中生成了实体框架模型。

0 投票
1 回答
2372 浏览

asp.net-mvc-3 - MVC3 db.SaveChanges() 内部异常

我正在尝试从购物车中添加订单列表。

我这样做类似于http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-9

db.saveChanges() 有错误,'更新条目时发生错误。有关详细信息,请参阅内部异常。

当我看到订单时,orderId 为“0”。这有问题吗?

我给你一些代码。

你能给我一些想法吗?

谢谢。

这是控制器。

0 投票
1 回答
1038 浏览

asp.net-mvc - 实体框架保存更改错误

我有一个向导步骤,用户在其中填写字段。然后,我使用 json 将每个向导步骤的值保存到我的数据库中。但是,在我的存储库中,我有我的 savechanges()。但它不会保存更改,而是会引发错误:

“NKImodeledmxContainer.SelectedQuestion”中的实体参与“QuestionSelectedQuestion”关系。找到 0 个相关的“问题”。预计有 1 个“问题”。

任何人都知道如何摆脱错误?我是否必须从 Question 中获取 ID 并将其保存到我的数据库中,或者我可以在 EF 中更改某些内容以便不会抛出错误消息?

这是我在控制器中的帖子:

我的仓库

这是我的视图模型:

这是我的数据库模型:

在此处输入图像描述

0 投票
1 回答
257 浏览

entity-framework-4 - EntityFramework 4.3.1 中的持久实体不返回导航属性

我正在使用 Visual Studio 2010 中的 EntityFramework 4.3.1。

我有一个名为 container 的根实体对象,它有一个名为containerversions的导航属性。

当需要新的容器版本时,我:

  1. 新建一个containerversion对象
  2. 通过 EF 上下文获取根容器
  3. 将新的 containerversion 添加到 containerversions 列表属性。
  4. 通过 Context.SaveChanges() 保存上下文

所有这些都工作正常。

但是,当我查看容器对象并检查 containerversions 集合属性时,保存后,新的 containerversion 就在那里,但它的导航属性没有填充,它的类型不是 System.Data.Entity.DynamicProxy 而是新的类型我创建的对象在保存之前添加到集合中。

当我保存将导致新插入的 containerversion 导航属性被填充的根实体时,我是否遗漏了什么?

0 投票
1 回答
2594 浏览

asp.net - INSTEAD OF INSERT 触发器导致实体框架的 SaveChanges 出错

这是我的第一篇文章,但我经常来这里为我的问题找到正确的解决方案。

我有一个数据库(SQL Server 2008 R2),其中包含一个INSTEAD OF INSERT用于检查插入数据的触发器的表。

如果是重复行,则更新该行;否则,插入该行。

扳机:

如您所见,SET NOCOUNT OFF我在触发器结束时执行选择查询。关于表的额外信息:

我在使用之前测试了触发器。效果很好!

测试代码:

现在,问题是 EF(实体框架)不起作用。

我认为这在 Web 服务 (.asmx) 中有效无关紧要,因为我使用测试表(没有触发器)测试了 EF,一切正常。

在这段代码中,我将一些对象添加到 EF 并保存更改。

已经尝试保存循环中的更改,但这没有效果......

我总是以这个错误结束:

存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。

我也尝试过Attach对象并将并发模式更改为固定,所有这些都不起作用..

我什至尝试了一个AFTER INSERT触发器,但这不是我想要的解决方案,我必须编写更多代码,因为它已经插入到表中..

现在有人可以解决我的问题吗?

0 投票
1 回答
371 浏览

java - java保存更改

我有一个应用程序,它主要包含在JList屏幕上显示的内容。我希望每次我对AbstractListModel(添加或删除列表中的项目) 进行更改时,以某种方式通知应用程序已进行更改并将JFrame的标题修改为frame_title[unsaved]. 在我保存应用程序后,[unsaved]标签就会消失。

我认为也许使用观察者/可观察技术可以完成这项工作,但我不知道该怎么做。也许有更适合我的问题的东西?我是 java 新手,所以这就是我来这里寻求帮助的原因。谢谢。

更新:在我的案例中,我不能真正使用观察者模式,因为我已经在扩展AbstractListModel类。

0 投票
0 回答
212 浏览

performance - 实体框架性能:SaveChanges 未缓存其执行计划/语句

我正在尝试对我的应用程序进行性能调整。进行了一些分析后,似乎每次我调用SaveChanges()我的数据上下文(每次执行 api 时我都会创建一个新的数据上下文)它会重新生成命令。ProduceCommands我可以看到它在运行表达式生成器等方面花费了很长时间。

阅读了 MSDN 文章后,我认为命令只创建一次然后重用,我错了吗?我已经开始对我的选择使用编译查询,但更新正在扼杀我的表现。

任何人都可以就如何加快速度提供任何建议吗?或者这只是 EF 的一个不幸的缓慢部分?

非常感谢您的任何建议。

0 投票
1 回答
807 浏览

entity-framework - Entity Framework 4.3 CF 多对多关系保存对象?

使用 EF 4.3 代码优先方法创建多对多关系时,我无法将数据保存到连接表,也无法使用将对象保存到 Icollection 来填充此表的任何示例...这是我的示例:

楷模

控制器

使用这种方法,我在这里不断收到错误:o.Hospitals.Add(h);即使我的 Hospital 实例充满了数据。如何准确地将数据保存到两个表中,dbo.Operators哪个dbo.OperatorHospital是关系表?