Skip to main content
 首页 » 编程设计

c#之删除实体集合中的项目

2024年02月02日28telwanggs

如何删除实体集合中的项目?

例如:

我有两个相互关联的实体

员工和推荐人

**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 删除,首先找到那个索引。