繁体   English   中英

删除实体集合中的项目

[英]Remove Items in Entity Collection

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

例如:

我有两个相互关联的实体

员工与参考

**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"}

我尝试了这种代码,但无法正常工作,该代码不会删除Entity Collection中的第二个元素,但不会产生错误:

empCol.References.ToList().RemoveAt(1);

不要假设collection如何维护index 找对象first ,然后remove从它collection

var ref = empCol.References.FirstOrDefault( r=> r.Name == "Sample");
if (ref != null)
    empCol.References.Remove(ref);

如果要按index删除,请首先找到该索引。

我尝试根据集合中的index删除集合中的对象,并且它可以正常工作

var refs = empCols.References.ElementAt(1);
empCols.References.Remove(refs);

例如,如果使用toList()将EntityCollection转换为List,则可以使用所有List方法删除项目。

 List<RotateArticle> articles = RotateArticle.GetDataByCategoryId(sm,currentArticle.MainCategory.Key).ToList();

接着

articles.Remove(articles[i]);

要么

articles.RemoveRange(2, articles.Count - 1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM