问题标签 [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.
c# - 实体框架 SaveChanges 问题
我正在用 EF 做一些测试,我试图在 ObjectContext.SavingChanges 上获得一个钩子。当我将对象直接添加到上下文中的集合时,一切正常。但是当我通过实体导航属性添加它们时,它们不会出现在事件中。
我将展示一个示例以使其更清楚。这是在 SavingChanges 事件中注册的方法。
这就是我在上下文中添加内容的方式。
有没有一种方法可以获取调用 SaveChanges 时添加的所有实体?它们被保存在我的数据库中,所以我想知道它什么时候发生。
谢谢!
编辑:我将 EF4 与 CTP4 一起使用。
edit2:这是我的 POCO。
entity-framework - EF ObjectContext.SaveChanges 丢失
我正在与实体框架合作开展一个新项目。我从一年前开始使用 EF。今天我尝试使用 Visual Studio(2008 SP1 和 2010)生成实体数据模型,它正在生成对象上下文属性和实体集,但没有生成 SaveChanges 方法。我什至尝试过使用我以前用来生成实体数据模型的数据库。我不知道发生了什么。我使用了我的笔记本电脑和台式机,但即使我以前在两者上都做过,也不能同时在两者上工作。
我的环境是:
视觉工作室 2008 SP1。SQL Server 2008 速成版。Web 客户端软件工厂 2008 年 2 月发布。
database - Django:更新 X 数量模型的表单
我有一个页面,它显示过滤后的模型实例列表,并允许用户更新其中的某些字段或将新字段添加为表单。
我很好奇这样做的聪明方法是什么,删除并重新保存所有输入数据或对每个数据进行比较并保存编辑/新字段和实体。
我想提醒您,我使用 postgres 来保存这些值,并且我为此表单显示了大约 20 个条目。
asp.net - EF4 - 将对象添加到对象上下文而不进行保存更改
我有一个像 Order - Order lines 这样的页面。Order 由一些文本框和 ddls 表示,Order lines 由 GridView 表示。
我想让用户添加订单行而不保存对数据库的更改。例如:他添加了 4 个订单行,填写订单信息,然后点击保存按钮。只有在那一刻,所有信息都应该保存到数据库中。
当我使用类似的代码时
新创建的 OrderLine 没有出现在我的对象上下文中,因此我无法访问它并将 GridView 绑定到新的 OrderList 集合。
我怎么解决这个问题?或者也许还有其他方法可以执行此任务?
谢谢。
entity-framework - EF4 代码首先将具有虚拟导航属性 null 的实体添加到一对多
我有以下 EF4 Code First 课程:
并设置添加一个新的 WoChangeLogHeader,如下所示:
然而此时 ChangeLogRecords 导航属性为空,所以我得到一个空对象引用错误......
但是,如果我尝试添加 WOChangeLogHeader 而不添加任何子项,以便随后可以像这样引用它:
然后我收到以下错误?
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
当 ChangeLogRecords 为空时,它也不会让我在 Context 上保存更改...
如何在这样的一对多关系中添加一个新实体,它是父实体?
谢谢格雷格
entity-framework - SaveChanges 成功后如何挂钩操作
我们的产品必须与多个客户/合作伙伴系统连接。例如,当一个人被添加/更新时,我们必须通知第三方系统的更改,例如通过调用 Web 服务或在文件夹中创建 xml 文件等。
SaveChanges 在数据库中成功持久化更改后,我们需要一个“钩子” 。
可以找到很多关于保存更改时如何执行业务逻辑的信息(在更改持久化到数据库之前),但很少有关于在更改持久化后执行逻辑的信息。
经过调查,我认为使用以下内容:
有没有人对这种情况有更好的解决方案?
php - 通过 id 查找元素并将其内容替换为 php
我想使用 PHP 在文件的内容中搜索具有特定 id 的元素,替换其内容,然后将更改保存到文件中。我能够加载 HTML,并再次将其保存回来,但在“查找和替换”(当前正在尝试使用 preg_replace)时遇到问题。
这是我到目前为止所拥有的:
但是,虽然它成功加载内容并将其写出(我已经通过写入单独的文件对其进行了测试),但 $updated 似乎实际上并没有改变。
有任何想法吗?
entity-framework - SaveChanges() 不起作用?
我有以下代码:
User.ID 是 Identity 并设置为在插入新记录时增加 1。当我运行上面的代码时。我使用 user.ID 获得了一个新的用户 ID,但用户表中没有添加新记录。
如果我评论最后一个 _context.SaveChanges() 则添加新记录。我是EF的新手,我已经搜索了一段时间,但仍然不知道为什么。
任何帮助将不胜感激!
html - 是否可以在本地保存 Firebug 中的更改?
我要做的是使用 Firebug 将我对 CSS 和 HTML 所做的更改保存在不同的站点上。
为了清楚起见,我不希望 Firebug 通过 FTP 或任何方式将更改上传到服务器。我只想在本地保存更改,所以只有我能看到它们。
例如,我见过一些 Firefox/Chrome 扩展,它们在 Youtube 上的每个视频下都添加了一个下载按钮,所以我知道有可能以某种方式做到这一点。
如果你有不同的方式来实现我想要做的事情,我会很高兴听到它。
(它不必与 Firebug 一起使用。)
提前致谢!
entity-framework - Addto* - deleteobject - addto* 会抛出错误
基本上我插入一行,删除该行,然后再次插入一个具有相同键的新行。它将在最后一行 savechanges 上抛出异常:“AcceptChanges 无法继续,因为对象的键值与 ObjectStateManager 中的另一个对象冲突。在调用 AcceptChanges 之前,请确保键值是唯一的。” 我确认 deleteobject 调用有效。如何让 objectstatemanager 知道记录已经消失并且可以重新插入?