问题标签 [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.
asp.net-mvc - 如何使用 WCF 数据服务保存具有相关实体集合的实体
我有一个与新 InputOutputMap 相关的新 ParameterPart 实体。InputOutputMap 有几个我从数据库中提取的 InputStates,我需要与 InputOutputMap 关联。如何使用 MVC 和 WCF 数据服务将此链保存到数据库?我正在使用以下代码(通过 ajax 调用调用,上下文仅在构造函数的第一次调用中设置)但遇到了几个问题:
- 当我使用 AddLink(如下所示)时,我可以在第一次尝试时添加数据(无论我必须关联多少输入状态)。但是,如果再次调用该方法(通过 ajax),我只能在指定一个输入状态时添加数据。如果我有多个输入状态,我会得到上下文已经在跟踪关系。请注意,该方法是使用 ajax 调用来调用的。
- 我曾尝试使用 SetLink、AddRelatedObject 和 attach,但每次在上述情况下都会出错。有时,错误是上下文已经在跟踪实体或关系。在其他时候,上下文不跟踪实体。
当我在方法而不是构造函数中设置上下文时,我没有得到任何好处。
/li>
entity-framework - 实体框架使用复合键插入行
我正在使用 Entity Framework 4.3.1 并尝试将新记录插入到我的ProductVersion
实体所基于的表中。
该ProductVersion
实体具有 2 个属性,它们构成名为ProductId
和的表的复合主键ProductOrdinal
。
每当有人更新产品条目时,我都会创建一个ProductVersion
实体并将其传递回我的存储库,增加ProductOrdinal
属性,并尝试将实体添加到上下文并保存它。
我不断收到以下错误:
属性“ProductOrdinal”是对象的关键信息的一部分,不能修改。
构成键的列都不是自动编号的,我在我的 POCO 中注释了以下属性:
c# - 保存添加额外的小数位
我有一个定义为十进制(9,9)的数据库字段。C# 中的 edmx 模型将此字段映射到精度和小数位数为 9 的十进制变量。
我将数字 5 放入变量中。我可以检查的所有地方都将值显示为 5(在局部变量、实体类实例、数据上下文等中)。
此时的DataContex.SaveChanges()
值被转换为“5.000000000”。尽我所能告诉实体框架在尝试保存到数据库之前将值添加 9 个小数位。这会导致错误,因为该值现在有太多数字。
有谁知道是什么导致了这种行为以及如何改变它?
附加信息- 我首先在 Microsoft SQL 2008 R2 中创建我的数据库。然后我从数据库中生成了实体框架模型。
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”。这有问题吗?
我给你一些代码。
你能给我一些想法吗?
谢谢。
这是控制器。
asp.net-mvc - 实体框架保存更改错误
我有一个向导步骤,用户在其中填写字段。然后,我使用 json 将每个向导步骤的值保存到我的数据库中。但是,在我的存储库中,我有我的 savechanges()。但它不会保存更改,而是会引发错误:
“NKImodeledmxContainer.SelectedQuestion”中的实体参与“QuestionSelectedQuestion”关系。找到 0 个相关的“问题”。预计有 1 个“问题”。
任何人都知道如何摆脱错误?我是否必须从 Question 中获取 ID 并将其保存到我的数据库中,或者我可以在 EF 中更改某些内容以便不会抛出错误消息?
这是我在控制器中的帖子:
我的仓库
这是我的视图模型:
这是我的数据库模型:
entity-framework-4 - EntityFramework 4.3.1 中的持久实体不返回导航属性
我正在使用 Visual Studio 2010 中的 EntityFramework 4.3.1。
我有一个名为 container 的根实体对象,它有一个名为containerversions的导航属性。
当需要新的容器版本时,我:
- 新建一个containerversion对象
- 通过 EF 上下文获取根容器
- 将新的 containerversion 添加到 containerversions 列表属性。
- 通过 Context.SaveChanges() 保存上下文
所有这些都工作正常。
但是,当我查看容器对象并检查 containerversions 集合属性时,保存后,新的 containerversion 就在那里,但它的导航属性没有填充,它的类型不是 System.Data.Entity.DynamicProxy 而是新的类型我创建的对象在保存之前添加到集合中。
当我保存将导致新插入的 containerversion 导航属性被填充的根实体时,我是否遗漏了什么?
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
触发器,但这不是我想要的解决方案,我必须编写更多代码,因为它已经插入到表中..
现在有人可以解决我的问题吗?
java - java保存更改
我有一个应用程序,它主要包含在JList
屏幕上显示的内容。我希望每次我对AbstractListModel
(添加或删除列表中的项目) 进行更改时,以某种方式通知应用程序已进行更改并将JFrame
的标题修改为frame_title[unsaved]
. 在我保存应用程序后,[unsaved]
标签就会消失。
我认为也许使用观察者/可观察技术可以完成这项工作,但我不知道该怎么做。也许有更适合我的问题的东西?我是 java 新手,所以这就是我来这里寻求帮助的原因。谢谢。
更新:在我的案例中,我不能真正使用观察者模式,因为我已经在扩展AbstractListModel
类。
performance - 实体框架性能:SaveChanges 未缓存其执行计划/语句
我正在尝试对我的应用程序进行性能调整。进行了一些分析后,似乎每次我调用SaveChanges()
我的数据上下文(每次执行 api 时我都会创建一个新的数据上下文)它会重新生成命令。ProduceCommands
我可以看到它在运行表达式生成器等方面花费了很长时间。
阅读了 MSDN 文章后,我认为命令只创建一次然后重用,我错了吗?我已经开始对我的选择使用编译查询,但更新正在扼杀我的表现。
任何人都可以就如何加快速度提供任何建议吗?或者这只是 EF 的一个不幸的缓慢部分?
非常感谢您的任何建议。
entity-framework - Entity Framework 4.3 CF 多对多关系保存对象?
使用 EF 4.3 代码优先方法创建多对多关系时,我无法将数据保存到连接表,也无法使用将对象保存到 Icollection 来填充此表的任何示例...这是我的示例:
楷模
控制器
使用这种方法,我在这里不断收到错误:o.Hospitals.Add(h);
即使我的 Hospital 实例充满了数据。如何准确地将数据保存到两个表中,dbo.Operators
哪个dbo.OperatorHospital
是关系表?