问题标签 [insertonsubmit]
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-to-sql - 没有 .InsertOnSubmit(...) 的情况下插入 LINQ- 实体?
我在使用 LINQ 时遇到了一个有趣的问题。当我实例化一个实体时,在 DataContext 上调用 .SubmitChanges() 将在数据库中插入一个新行 - 而无需调用 .Insert[All]OnSubmit(...)。
运行上面的代码将在数据库中插入一个新行。我在编写应用程序来解析 XML 文件并填充一些表时注意到了这种效果。当我只期望大约 50 个左右时,我注意到有 1000 多个插入 - 然后我终于隔离了这种行为。
如何防止这些对象被隐式持久化?
谢谢,-查尔斯
linq - submitChanges() 在 linq 中插入不需要的记录的问题
我正在使用 LINQ 在数据库中插入记录。我创建这些记录并使用列表跟踪它们。基于一些逻辑,我通过从列表中删除来删除一些记录。(我正在使用相同的 DataContext 对象)。
当我想在数据库中插入记录时,我在 datacontext 对象上执行相应的 linq 表的 InsertOnSubmit(),然后是 SubmitChanges()。LINQ 也会插入已删除的列表记录以及列表中存在的记录。
例子:
我遇到了这篇 msdn 文章Object States and Change-Tracking (LINQ to SQL)
您可以使用 InsertOnSubmit 显式请求插入。或者,LINQ to SQL 可以通过查找连接到必须更新的已知对象之一的对象来推断插入。例如,如果将 Untracked 对象添加到 EntitySet(TEntity) 或将 EntityRef(TEntity) 设置为 Untracked 对象,则可以通过图中的跟踪对象访问 Untracked 对象。在处理 SubmitChanges 时,LINQ to SQL 会遍历跟踪的对象并发现任何未跟踪的可访问持久对象。这些对象是插入数据库的候选对象。
我想问题可以归结为——如何将已删除对象的状态更改为“未跟踪”?
从列表中删除对象后,我尝试了 DeleteOnSubmit,但这给出了异常(无法删除尚未附加的实体)。
有人可以指出我的解决方案吗?谢谢。
我想知道我是否可以仅使用 LINQ 来实现这一点。(我知道我可以使用存储过程并仅在列表中插入记录。)
linq-to-sql - LINQ to SQL:调用“SubmitChanges”时读取实体导致 DuplicateKeyException
我遇到了一种奇怪的行为,我真的不知道如何解决它。我试图在插入实体后(在 ExecuteDynamicInsert 之后)读取一个实体,当部分方法返回时,我总是得到一个 System.Data.Linq.DuplicateKeyException “数据库生成了一个已经在使用的密钥。 ”。
这是我试图通过一个非常简单的示例实现的目标:
数据上下文文件 MyDataContext.cs:
程序文件 Program.cs:
如果我在插入国家/地区后不阅读,代码可以正常工作,但无论出于何种原因我都需要阅读它,并且我不想使用 ChangeSet。
有没有办法实现这一点或解决这种行为?
提前致谢。
linq-to-sql - LinqToSql - “提交时插入”
我试图在我的一个表中插入一行,所以我在网上查找了一个使用 DATACONTEXT 的示例并找到了这个:
但是当我尝试使用它并编写时:context.Guides.
-现在我看不到该InsertOnSubmit
方法..有人知道为什么吗?
谢谢,尤尼。
c# - Linq to SQL:如何通过 InsertOnSubmit 但在 SubmitChanges 之前添加值?
很难得到这个。我需要通过 InsertOnSubmit 方法获取已添加到表实体的值。但是我还没有在表上调用 SubmitChanges。
所以,我有这个循环: mdmDC.tblMDMListItems.InsertOnSubmit(listItemsTable);
但我想查询 mdmDC.tblMDMListItems 到目前为止输入的一些值,但我似乎不能这样做。即使在 mdmDC.tblMDMListItems 上面的代码为 0 之后。
如何获取在 SubmitChanges 之前添加的值?
谢谢!!
c# - 在 LINQ to SQL 中执行 InsertOnSubmit 时出现 NullReferenceException
在我的数据库中,我有一个名为 StaffMembers 的表
当我通过 linq-to-sql 将它带入我的 .net 项目时,会创建一个实体类 StaffMember
现在我还在我的项目中创建了一个部分类 StaffMember,以添加我在其他顶层中使用的额外属性。例如。IsDeleted 属性。这个分部类还继承了一个抽象类和接口,以确保还实现了一些其他属性。
现在,当我创建“StaffMember”的新实例时
例如。员工新员工 = 新员工会员();并赋予它所有的属性等
然后通过我的经理在上下文中调用 InsertOnSubmit。
我收到“对象引用未设置为对象的实例”错误。
在 context.StaffMembers.InsertOnSubmit(newStaff);
堆栈说
知道为什么会发生这种情况以及解决方法是什么。
谢谢
linq - 在哪一层进行 linq-sql 调用,如 SubmitChanges()、InsertOnSubmit() 等
哪一层是进行 linq-sql 调用的最佳层,如 SubmitChanges()、InsertOnSubmit() 等。
例如,假设我有两个表 Parent 和 Child。子表在父表上有外键(子表有 ParentId 列)。我想将父对象和子对象插入数据库。
使用 linq-sql,我可以做到这一点。
我是否将表示层代码与数据访问层混合在一起?如果是这样,我该如何处理中间的业务层对象?
请告诉我。谢谢。
c# - [LINQ]InsertOnSubmit NullReferenceException
我对 LinqToSql 有一个相当烦人的问题。我创建了一个派生自 DataContext 中的类的类。
问题是,一旦我使用“InsertOnSubmit(this);” 在这个派生类上,我得到一个 NullReferenceException。
我见过一些人有同样的问题。但是他们使用了自定义构造函数并通过调用“:this()”解决了这个问题,就像这个线程http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/0cf1fccb-6398-4f16 -920b-adef9dc4ac9f
不同之处在于我使用了一个默认构造函数,它会导致调用基本构造函数,所以应该没有任何问题!
有人可以帮我解决这个问题,开始变得烦人!
谢谢 :)
linq - 让 LINQ .InsertOnSubmit 工作
我正在尝试使用 LINQ 让插入工作,但遇到了一些困难。
我正在使用此示例来构建我的代码:http: //msdn.microsoft.com/en-us/library/bb763516.aspx
我设置了我的数据对象,但不知道执行 db.Orders.InsertOnSubmit 时发生了什么。
如何创建此 db 对象以使用 InsertOnSubmit 将数据对象插入到我的数据库中?
编辑:这是我正在使用的一些代码(这可能是一个错误的世界,此时我几乎在黑暗中摸索)。我对数据库对象非常陌生,所以整个概念对我来说有点混乱。
linq-to-sql - Linq to SQL InsertOnSubmit 用于多个对象
我对 Linq to SQL InsertOnSubmit 有疑问,它似乎只适用于表中的第一项。
例如以下内容:
我只将第一个实体(“Test Note Title 1”)插入数据库。如果我在每个 InsertOnSubmit 之后放置一个 SubmitChanges,则所有行都成功插入。
上面的 Types 都是继承自 Note 类,所以插入到同一个表中。
但是,我在使用非派生类时遇到了同样的问题。
我花了很长时间看这个,但找不到我做错了什么。InsertOnSubmit/SubmitChanges 的整个想法是这样您就可以进行多项更改,因此我必须缺少一些简单的东西。