c# - C# Entity Framework LINQ 检查是否在 RemoveRange 之前使用对象列表分离上下文
问题描述
我正在编写一个 LINQ to SQL 来执行RemoveRange
. 以下正在工作。
ctx.Table1Set.AttachRange(records);
ctx.Table1Set.RemoveRange(records);
我必须这样做,AttachRange
否则我RemoveRange
会抛出一个异常,它在ObjectManager
.
我想检查我的 ctx 是否附加了参数,记录列表,它是两个字段的列表,ID 和 CODE
1 1001
2 1002
3 1003
我使用以下代码研究了其他帖子
var entry = context.Entry(ug);
if (entry.State == EntityState.Detached)
{
context.MY_GROUPS.Attach(ug);
}
但这是针对一个对象而不是对象列表。
有没有办法用列表检查上下文状态?
如果我有一个List<Table1>
又名记录列表,
如何检查上下文 ctx 是否未附加对象列表?
解决方案
由于声誉要求,我无法发表评论,但调试此问题的一种方法是在 newrecords 上尝试 foreach,然后在 try catch 内的记录上尝试 .remove()。
推荐阅读
- java - 如何获取对象的类并将其用作泛型类的参数?
- c++ - 使用 libcurl“多”接口进行单个文件下载 - C++
- javascript - 具有可变值的 Json 响应
- javascript - 将 JS 中的日期从一个时区转换为另一个时区
- oracle - Oracle 查询在查询设计器中工作,但预览报告导致错误
- git - 你应该如何处理不再需要的 git 分支?
- c++ - 使用 CMake 将两个库链接在一起
- arrays - 如何使用nodejs将Blob转换回文件?
- java - Intellij 开始以一种奇怪的方式显示文件?
- javascript - 根据首选系统配色方案更改 Discord 小部件的颜色