问题标签 [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.
exception - DbContext.SaveChanges() 上的 EF 4.1 ComException
我正在使用 EF 4.1。每当在执行像 SaveChanges() 这样的 DbContext 操作期间发生错误时,我都会收到一条相当神秘的错误消息:System.Exception._ComPlusExceptionCode -532462766。显然,这对于找出问题所在不是很有帮助。在 EF 的上下文中快速谷歌搜索 ComPlusException 没有返回有意义的结果。
任何我收到此错误消息的想法以及为了获得更具描述性的错误反馈可以做些什么都将不胜感激。
谢谢!!
代码:
.net - ASP.net InnerException:将记录添加到数据库
浏览了我的教科书,但是当我尝试向数据库添加记录时,我仍然无法捕获内部异常。在我的班级中捕获 InnerException 的正确语法是什么?
db.SaveChanges引发了内心的期望。这是我的“addReviews.cs”类文件中添加记录的代码:
提前致谢!
entity-framework - EF 4.1,POCO:如果 AutoDetectChanges=false,引用类型属性不会更新
EF 4.1,POCO:我关闭了AutoDetectChanges ( Configuration.AutoDetectChangesEnabled = false ) 以加快数据更新。然后我运行Add or Attach并将实体状态更改为EntityState.Modified。所有这些都会导致对其他对象的引用未在数据库中更新。但是,所有标量属性都已成功更新。
Profiler 显示 EF 为每个标量属性生成 SQL 更新操作,但不是为引用类型生成 SQL 更新操作,尽管我确实在我的代码中更改了它的值。此问题针对我模型中的每种类型的实体进行了重现。
添加操作或Attach with EntityState.Added都可以正常工作。如果我重新打开AutoDetectChanges,对于更新的记录,一切都会按预期正常工作。
请帮助我找出问题所在。我找不到任何关于 EF 的 Detect Changes 的全面文档。
更新
我被要求提供一些代码示例来重现该问题。领域:
数据上下文:
将一条记录添加到 Clint 表,并将一条记录添加到 Address。将客户端指向地址。然后运行以下代码:
此代码确实会生成如下 SQL 脚本:
将 AutoDetectChangesEnabled 设置为 true 并再次运行代码,这次一切正常:
请注意,如果您将 Address 的值从特定值更改为 null,或者返回特定值,或者将一个具体值更改为另一个具体值,则在 AutoDetectChanges=false 时不会跟踪任何更改。似乎是 EF 错误。
c# - 如何为数据容器实现“是否需要保存”机制?
假设有一个BindingList<Person{Name, age}>
类和一个PersonManager
承载列表的类。在应用程序中,每个控件都绑定到人员列表,以便对其进行操作或更新。例如。包含人员姓名的列表框、更新所选人员年龄的控件等。
我现在想为此实施“我需要保存”机制。不知何故,用户界面必须知道 PersonManager 是否已更改才能保存。
我的想法是捕获INotifyPropertyChanged
Person 实现的事件并在 PersonManager 中创建一个事件,该事件在引发 propertyChangedEvent 时触发。类似于事件转发机制的东西。
这似乎容易出错。关于如何使它变得更好的任何建议?
entity-framework - Linq to Entities:添加对象而不保存更改
假设我有以下代码:
我的问题是,如果我保留“ SaveChanges ”注释,那么在下一个查询中,辅助对象始终为空,因为 Context.TEModules 是空的,即使我调用“ AddObject ”方法也是如此。但是,如果我在 AddObject 之后调用 SaveChanges,那么在下一个查询中,辅助对象不为空。问题是我不想经常调用 SaveChanges,因为这不是我添加对象的唯一一段代码,如果我这样做,性能会下降。
所以问题是:如果以后我需要知道对象是否已经存在,我是否必须在每次调用 AddObject 之后调用 SaveChanges?
.net - 实体框架不会在数据库中保存数据条目
首先我应该提一下,这个问题只发生在 Windows 窗体应用程序中,并且 Web 模式下的相同程序(例如 MVC3)完美运行。
几天前,我使用带有 SQL Express 数据库的 Visual Studio 2010 Ultimate 编写了一个非常简单的 Windows 窗体程序。我通过选择 Add > New item > Service-Based database 和基于此数据库的实体数据模型以相同的方式添加了数据库。我使用实体框架向表中添加一些新记录。我之前用 VS 2008 SP1 做过这样的事情没有问题,所以我也做了同样的事情。程序编译并运行没有错误,我输入了一些新数据。退出程序后,我回到数据库,什么也没发生。我输入的任何信息都没有被保存。我一步步调试程序,一切正常。下面的代码与一个具有上述问题的非常简单的程序有关。数据库有一张表(书):
如果有人帮助我,我将不胜感激。提前致谢。
.....................
编辑后:
entity-framework - 实体框架 - SaveChanges 异常
我有这个代码保存一个简单的实体:
这是一个例外:
这是创建表代码:
在谷歌搜索后,我发现收到此错误的模式人有关系问题,这不是我的情况
谢谢
c# - 如何从不同的上下文中保存实体上的 NavigationProperty?
我有两个数据库表,一个用于事件,一个用于 RecurrenceRules。事件有一个指向 RecurrenceRuleID 的 FK。
我想做的就是保存一个事件,它是来自新上下文的重复规则,但我似乎无法做到这一点。我错过了什么??
hibernate - 实体框架中 Hibenate.saveOrUpdate() 的等价物是什么
在实体框架中,您必须编写大量代码来保存或更新单个实体:
在休眠中它只是saveOrUpdate()
这不是懒惰,而是让它简短而干净。
jquery - 如何保存动态更改的 HTML?
我在 UL LI 列表中排列了大约 8 个 div 项目。每个都有唯一的 ID 和特定的内容。这些项目是可排序的,我为此使用 jquery UI。一旦用户拖放列表项的组件位置发生变化。但刷新页面后,我得到了相同的 HTML 页面。我想在服务器上保留项目的新位置。这样做的有效方法是什么?我可以创建 HTML 的克隆并在会话期间保留它,但我希望将更改保存在服务器上。元素位置的更改是特定于用户的。这就像用户更改了元素位置,他想保存设置..提前感谢您的帮助