1

Entity Collection のアイテムを削除するには?

元:

互いに関連する 2 つのエンティティがあります

従業員とリファレンス

**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);

コレクションの 2 番目の要素を削除したいのですが、どうすればよいですか?

[0]= {Name = "Sample"}
[1]= {Name = "Sample2"}

この種のコードを試してみましたが、うまくいきません。このコードはエンティティ コレクションの 2 番目の要素を削除しませんが、エラーは発生しません。

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

3 に答える 3

5

indexによって内部がどのように維持されているかを想定しないでcollectionください。firstオブジェクトを見つけremoveてから、collection

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

で削除したい場合はindex、まずそのインデックスを見つけます。

于 2013-01-07T03:35:47.927 に答える
1

コレクション内のオブジェクトに応じてコレクション内のオブジェクトを削除しようとすると、機能しindexます

var refs = empCols.References.ElementAt(1);
empCols.References.Remove(refs);
于 2013-01-09T01:03:06.577 に答える
0

たとえば、toList() を使用して EntityCollection を List に変換すると、すべての List メソッドを使用して項目を削除できます。

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

その後

articles.Remove(articles[i]);

また

articles.RemoveRange(2, articles.Count - 1);
于 2018-12-05T16:40:38.697 に答える