问题标签 [submitchanges]
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.
linq - Linq:如何验证 dbcontext.SubmitChanges() 的更新/插入是否成功?
您如何验证 SubmitChanges() 是否适用于插入和更新?该方法不返回 bool 或 int 值。
c# - C# 报告“对象引用未设置为对象的实例”中的 LINQ DataContext.SubmitChanges()。
我想很多人都遇到过这个问题,但我无法解决它或理解我为什么会遇到它。我已经把头发扯了几个小时了。
我收到错误消息“对象引用未设置为对象的实例。” 在我的 datacontext.SubmitChanges() 上第二次运行此方法(我正在循环一组 ObjectName 字符串):
我认为这是因为 result.Name 值可以为空,但我不再这么认为了。
似乎 dataContext 正在以某种方式关闭?但是在调试模式下,我检查了连接的状态,错误发生后它是“打开的”。
我正在使用存储库模式和 ASP.NET MVC。
结果对象 (new Object()) 是 LINQ DBML 自动生成的类的一个实例,该类还具有我创建的带有单个扩展方法的部分类。我看不出类的扩展是如何导致问题的。
我没主意了。
有什么想法吗?感谢您的任何帮助,您可以提供!!
此致,
埃里克
wpf - 什么可能导致 db.SubmitChanges() 在 linq-to-sql 中不起作用?
我在 WPF 中使用 LINQ-TO-SQL 设置了一个非常简单的示例。
我可以像这样得到一个对象(pageItem),我可以更改属性,当我调用SubmitChanges () 时它没有给我任何错误,但它不会保存更改。
什么可能导致 SubmitChanges 不提交更改?
更多信息:
这也不起作用,即使 db.ExecuteCommand 也不起作用,而且奇怪的是在调试 F11 时没有进入 SubmitChanges() 或 ExecuteCommand(),为什么我不能进入这些?
更多信息:
db.Log = Console.Out 给了我这个:
回答
解决方案有三方面:
我正在更改与在 Visual Studio 中查看的不同的数据库,解决方案:
var db = new MainDataContext(@"C:\Users\TestUser\Documents\Visual Studio 2008\Projects\TestPageManager23434\TestPageManager23434\Data\Main.mdf"))
使更新工作但不是 SubmitChanges(),解决方案是设置主键。
它仍然没有显示所有的 chagnes,问题是我打开了许多“显示数据”窗口,这些窗口没有被更新
c# - 在使用 RIA 的 Silverlight 应用程序中使用 LINQ2SQL 数据上下文提交更改的最佳实践是什么?
我有一个使用 RIA 服务和 LINQ2SQL 的 Silverlight 应用程序,并且我的 Silverlight 应用程序中有对象。
我在 Silverlight 应用程序中查询表中的所有记录(通过 LINQ 查询,使用数据上下文),并为每个对象(记录)创建一个用户控件,并将该对象放入控件中,因为稍后我需要这些信息。然后稍后,用户对该对象(存储在控件中)进行更改,我想将其保存回数据库。
我的问题是,当我去保存对象时,我没有要执行 SubmitChanges 的数据上下文。我无法将它附加到新上下文,因为它说它已经附加。
这种情况的最佳做法是什么?
linq-to-sql - LINQ to SQL:调用“SubmitChanges”时读取实体导致 DuplicateKeyException
我遇到了一种奇怪的行为,我真的不知道如何解决它。我试图在插入实体后(在 ExecuteDynamicInsert 之后)读取一个实体,当部分方法返回时,我总是得到一个 System.Data.Linq.DuplicateKeyException “数据库生成了一个已经在使用的密钥。 ”。
这是我试图通过一个非常简单的示例实现的目标:
数据上下文文件 MyDataContext.cs:
程序文件 Program.cs:
如果我在插入国家/地区后不阅读,代码可以正常工作,但无论出于何种原因我都需要阅读它,并且我不想使用 ChangeSet。
有没有办法实现这一点或解决这种行为?
提前致谢。
linq - SubmitChanges() 仅更新 1 个字段?
我真的是一个LINQ新手。我遇到了一个未知问题:
使用这种方法时,只有1个字段被更新了!!这是我的日志:
即使我几乎更改了字段,我的表也已经有了主键。但还是有问题。
请帮忙!
linq-to-sql - LINQ to SQL - 检索对象、修改、SubmitChanges() 创建新对象
我已经为此奋斗了一段时间。我正在尝试实现多对一关联。我在一张表中有一堆行,称为读数。这些随着时间的推移而积累,我时不时地想导出它们。当我导出它们时,我想创建一个名为 ExportEvent 的新对象,以跟踪导出了哪些行,以便在需要时重新导出它们。因此 Reading 与 ExportEvent 具有可为空的外键关系,因为我在导出读数之前创建读数。
我发现,当我进行导出时,是否首先创建 ExportEvent (evt) 并使用
或者如果我使用
当我调用 SubmitChanges 时,我总是得到一堆新的与 evt 关联创建的读数,并且原始记录没有更新。
我把它简化为最简单的,只是想看看我是否可以创建没有关联的两个对象,我什至发现当我刚刚检索所有读数并更新它们的 int 值时,submitchanges 仍然插入了一堆新记录. 这是怎么回事?
linq-to-sql - linq2sql 如何处理只有 FK 的表?
我有一个映射表,如:
Article_to_Categories
文章ID 类别ID
如何使用 linq2sql 插入此表?
c# - 从 LINQ DB 中删除是否还会删除具有外键关联的其他表中的记录?
所以在我的数据库的根目录下,我有一个表“客户”。客户有大约 6-7 个其他表的外键,例如收据、地址、文档等。如果我要使用 SubmitChanges() 删除客户,是否会找出所有具有外键关联的记录并删除它们,还是我需要做 6 个查询?
c# - 您如何使 SubmitChanges 仅提交特定更改而不是所有以前的更改?
ASP.NET linq SubmitChanges 方法提交自上次调用以来所有先前数据库修改的更改。
我有一个案例,我执行以下操作:
我想在上面的行中插入 y 而不是 X。然后我想稍后某个时候插入 X 并再次调用 SubmitChanges() 。我必须按照显示的顺序执行代码。
那可能吗?还是我应该调用 SubmitChanges() 以外的东西?