有没有可能从一个列表中选择一个列表而不迭代
本文关键字:一个 列表 迭代 选择 有可能 | 更新日期: 2023-09-27 18:13:24
基本上我不想在每次需要对象列表时都对List使用foreach。
IEnumerable<int> myKeys = _context.MyTable.Where(x => x.Name == name);
foreach(var key in keys)
{
var myObject = _context.FirstOrDefault(x => x.key == key);
_context.MySecondTable.Remove(myObject);
}
在linq中是否存在一个方法,允许我传递键列表,或者我是否在迭代我的键并一次获得一个键的对象?
希望使用RemoveRange();
_context.MySecondTable.RemoveRange(myObjects);
IEnumerable<int> myKeys = _context.MyTable.Where(x => x.Name == name);
foreach(var obj in _context.MySecondTable.Where(o => myKeys.Contains(o.key))
var myObject = _context.Remove(obj);
或者如果您的上下文支持多次删除:
var myKeys = _context.MyTable.Where(x => x.Name == name);
var myObject = _context.RemoveRange(
_context.MySecondTable.Where(o => myKeys.Contains(o.key));