如何删除实体集合中的项目?
例如:
我有两个相互关联的实体
员工和推荐人
**Table: Employee**
EmployeeId(PK)
**Table: Reference**
ReferenceId(PK)
EmployeeId(FK)
Name
首先我初始化这个:
Employee empCol = new Employee();
Reference refs = new Reference();
然后我在实体集合中保存了一些数据
refs.Name = "Sample";
empCol.References.Add(refs);
refs.Name = "Sample2";
empCol.References.Add(refs);
我想删除集合中的第二个元素,我该怎么做?
[0]= {Name = "Sample"}
[1]= {Name = "Sample2"}
我尝试了这种代码,但它不起作用,这段代码没有删除我的实体集合中的第二个元素,但它没有产生错误:
empCol.References.ToList().RemoveAt(1);
请您参考如下方法:
不要假设 index 是如何由 collection 内部维护的。 首先找到对象,然后从collection
移除它
var ref = empCol.References.FirstOrDefault( r=> r.Name == "Sample");
if (ref != null)
empCol.References.Remove(ref);
如果你想按 index 删除,首先找到那个索引。
