问题标签 [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 投票
6 回答
18056 浏览

entity-framework - 实体框架不会在具有两级关系的新实体上保存更改

我正在使用 ADO.NET 实体框架构建一个 ASP.NET MVC 站点。我有一个包含这些实体的实体模型,由外键关联:

报告(ID、日期、标题、Report_Type_ID 等)

  • SubReport(ID, ReportText, etc.) - 与 Report 的一对一关系。
    • ReportSource(ID, Name, Description) - 与 Sub_Report 的一对多关系。
      • ReportSourceType(ID, Name, Description) - 与 ReportSource 的一对多关系。
      • 联系人(ID、姓名、地址等) - 与 Report_Source 的一对一关系。

每种类型的 SubReport 都有一个 Create.aspx 页面。post 事件方法返回一个新的 Sub_Report 实体。

之前,在我的 post 方法中,我遵循了这个过程:

  1. 从页面的字段中设置新报告实体的属性。
  2. 从页面的字段中设置 SubReport 实体的特定属性。
  3. 将 SubReport 实体的 Report 设置为 1 中创建的新 Report 实体。
  4. 给定页面提供的 ID,查找 ReportSource 并将 Sub_Report 实体的 ReportSource 设置为找到的实体。
  5. 保存更改。

这个工作流程成功了几个星期。然后上周发生了一些变化,它不再起作用了。现在,我得到了这个异常,而不是保存操作:

调试可视化工具显示以下内容:

  • SubReport 的 ReportSource 已设置并加载,其所有属性均正确。
  • Report_Source 附加了一个有效的 ReportSourceType 实体。

在 SQL Profiler 中,准备好的 SQL 语句看起来没问题。谁能指出我缺少什么明显的东西?

TIA

注意:在这种情况下,报表和子报表始终是新实体。报告实体包含许多类型的报告共有的属性,用于一般查询。子报表是特定的报表,其额外参数因类型而异。每种类型的 SubReport 实际上都有不同的实体集,但这个问题适用于所有类型,因此我使用 SubReport 作为简化示例。

0 投票
2 回答
1957 浏览

linq - Linq SaveChanges 问题

我是否应该费心检查对象是否正确保存?

如果没有,它应该只是抛出一个异常,对吗?

0 投票
4 回答
18125 浏览

entity-framework - 检查实体框架中的插入或更新是否成功

在 ADO.NET 中,ExecuteNonQuery()“对于 UPDATE、INSERT 和 DELETE 语句,返回值是受命令影响的行数”(http://msdn.microsoft.com/en-us/library/system。数据.sqlclient.sqlcommand.executenonquery.aspx )

在 EF v1 中,context.SaveChanges() 方法返回“调用 SaveChanges 时处于已添加、已修改或已删除状态的对象的数量”。(http://msdn.microsoft.com/en-us/library/bb739065.aspx

请告知,当将多个实体(或单个实体)添加或更新到上下文并调用 context.SaveChanges() 方法时,如何检查实际的 INSERT 或 UPDATE 是否成功。

我们可以假设 INSERT(s) 或 UPDATE(s) 是否成功?

谢谢你

0 投票
1 回答
1092 浏览

c# - 实体框架 - 不能使用 savechanges 添加具有新子项的新实体

我正在创建一个名为“信”的对象,其中添加了多个“收件人”。

当在上下文中调用 savechages 时,我收到此错误。“'EchoEntities.LetterRecipients' 中的实体参与了 'FK_LetterRecipient_Letter' 关系。找到了 0 个相关的 'Letter'。预计有 1 个 'Letter'。”

此外,当仅添加 1 个收件人时,它适用于两个收件人,但它会失败。

缩短代码:

0 投票
5 回答
38993 浏览

entity-framework - 创建 1000 个实体框架对象时,我应该何时调用 SaveChanges()?(例如在导入期间)

我正在运行一个导入,每次运行都会有 1000 条记录。只是想对我的假设进行一些确认:

以下哪一项最有意义:

  1. 运行SaveChanges()每个AddToClassName()呼叫。
  2. SaveChanges()nAddToClassName()调用运行一次。
  3. 所有呼叫SaveChanges()之后运行。AddToClassName()

第一个选项可能很慢吧?因为它需要分析内存中的 EF 对象,生成 SQL 等。

我假设第二个选项是两全其美的选择,因为我们可以在该调用周围包装一个 try catch ,并且如果其中一个失败,则一次SaveChanges()只会丢失n条记录。也许将每个批次存储在 List<> 中。如果SaveChanges()调用成功,则摆脱列表。如果失败,请记录项目。

最后一个选项可能最终也很慢,因为每个单个 EF 对象都必须在内存中,直到SaveChanges()被调用。如果保存失败,则不会提交任何内容,对吗?

0 投票
2 回答
4282 浏览

android - android onSaveInstanceState 用法

请在以下课程中指导我应该保存的内容。

请记住,我只使用了一个字符串,该字符串是从 getextra 方法中检索的,并且我认为我不应该将任何内容存储在以下覆盖的方法中。

你能指导我在 onsave 实例方法中存储什么,不存储什么吗?

0 投票
3 回答
4959 浏览

java - 确定对象是否已更改的最佳方法是什么?

我在我的 Java Web 应用程序(JSF1.2,RichFaces)中创建了一些“保存”bean 功能。它使用 JAXB 将其转换为 XML 字符串,然后将其存储在数据库中。如果用户将其加载回来,我想通知用户(bean)内容是否已更改并且应该再次保存。

我的想法是覆盖hashCode()函数 'with' org.apache.commons.lang.builder.HashCodeBuilder,但是我有很多字段和子元素。有没有其他方法来处理这种功能?

编辑

“比较”是在另一种观点上进行的!

任何帮助,将不胜感激!

0 投票
1 回答
2498 浏览

c# - 为什么实体框架能够检索实体但不能保存/更新/删除它们?

我有一个带有本地 .MDF 文件的WPF应用程序,我在该文件上创建了一个实体框架类模型。

从数据库中检索实体工作正常

但是,更新添加删除* 不会。**没有错误,调试器直接执行,输出中没有消息,但数据库表中的数据保持不变

我需要做什么才能让 Entity Framework 也更新实体并将其添加到数据库表中?

0 投票
1 回答
1562 浏览

entity-framework - .Net Entity Framework SaveChanges 正在添加而没有添加方法

我是实体框架的新手,我对 savechanges 的工作方式感到非常困惑。我的示例中可能有很多代码可以改进,但这是我遇到的问题。

用户输入一堆选择。我确保用户尚未输入这些选项。然后我将选择添加到数据库中。

我已经测试过了,SaveChanges 甚至不必在循环中。下面的代码也有效。

显然,我不明白的上下文发生了一些事情。我猜我已经以某种方式将我的新选择加载为待处理的更改,但即使这是真的,我也不明白我必须遍历它们以保存更改。

谁可以给我解释一下这个?

以下是根据 Craig 的回复更新的工作代码: 1) 删除 Type 然后循环遍历结果并填充新对象。

2)或者如果我不想保存预测,我可以分离预测。

0 投票
3 回答
1040 浏览

php - 什么是 PHP 的好 IDE?它必须在文件保存时自动上传到服务器

有人可以向我推荐一个很好的 PHP 编辑器,它会在保存时自动上传吗?基本上,我不想在本地存储任何文件.. thx。