C# 删除实体集合中的项
如何删除实体集合中的项 例: 我有两个相互关联的实体 员工和推荐人C# 删除实体集合中的项,c#,entity-framework-4,C#,Entity Framework 4,如何删除实体集合中的项 例: 我有两个相互关联的实体 员工和推荐人 **Table: Employee** EmployeeId(PK) **Table: Reference** ReferenceId(PK) EmployeeId(FK) Name 首先,我初始化这个: Employee empCol = new Employee(); Reference refs = new Reference(); 然后我在实体集合中保存一些数据 refs.Name = "Sample"; e
**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);
不要假设
集合
如何在内部维护索引
。首先查找对象,然后将其从集合中删除
var ref = empCol.References.FirstOrDefault( r=> r.Name == "Sample");
if (ref != null)
empCol.References.Remove(ref);
如果要通过索引删除,请先找到该索引。不要假设集合如何在内部维护索引。首先查找对象,然后将其从集合中删除
var ref = empCol.References.FirstOrDefault( r=> r.Name == "Sample");
if (ref != null)
empCol.References.Remove(ref);
如果要通过索引删除,请首先找到该索引。我尝试根据集合中的索引删除集合中的对象,该对象可以正常工作
var refs = empCols.References.ElementAt(1);
empCols.References.Remove(refs);
我尝试根据集合中的索引
删除集合中的对象,并且它可以正常工作
var refs = empCols.References.ElementAt(1);
empCols.References.Remove(refs);
例如,如果使用toList()将EntityCollection转换为列表,则可以使用所有列表方法删除项
List<RotateArticle> articles = RotateArticle.GetDataByCategoryId(sm,currentArticle.MainCategory.Key).ToList();
或
例如,如果使用toList()将EntityCollection转换为列表,则可以使用所有列表方法删除项
List<RotateArticle> articles = RotateArticle.GetDataByCategoryId(sm,currentArticle.MainCategory.Key).ToList();
或
是否在任何时候将这些内容保存到数据库?你的问题很难理解。不,我还不会将其保存到数据库中,我需要先将数据保存到实体集合中。我正在考虑这样的场景:如果用户希望删除他输入的数据,然后再将其保存到数据库中,该怎么办?是否在任何时候将这些数据保存到数据库中?你的问题很难理解。不,我还不会将其保存到数据库中,我需要先将数据保存到实体集合中。我正在考虑这样的场景:如果用户希望删除他输入的数据,然后再将其保存到数据库中该怎么办。如果ref为null,则会在第一行引发异常。改用FirstOrDefault。此外,对于字符串变量,最好使用string.Equals而不是==@Tilak-您所说的“索引”是指集合中的主键还是它的索引?它是集合中的索引(通过实现)。如果ref为null,则会在第一行引发异常。改用FirstOrDefault。此外,对于字符串变量,最好使用string.Equals而不是==@Tilak-您所说的“索引”是指集合中的主键还是它的索引?它是集合中的索引(通过实现)