1

EF4 を使用して、エンティティのリストを更新したいと思います。

  1. List "Labels" を含む" productToUpdate "という名前のメソッドに (Web フォームから取得した) ViewModel オブジェクトを渡しました。
  2. 「 requeteValsLabels 」という名前の匿名オブジェクトへのLinqクエリを使用して、データベースからオブジェクトの対応するリストを取得します。これは次のように手動で行いました(foreachループでIDをテストします)が、これは最善の方法ではないと思います?

    for (int i = 0; i < productToUpdate.Labels.Count; i++)
            {
                foreach (var item in productToUpdate.Labels)
                {
                    if (requeteValsLabels[i].ID == item.IdValeurLabel){
                    requeteValsLabels[i].Valeur = item.Valeur;
                    }
                }
            }
    
4

3 に答える 3

1

より効率的な方法は、コレクションに参加してから値をコピーすることだと思います。

var query = from item in productToUpdate.Labels
            join label in requeteValsLabels on item.IdValeurLabel equals label.ID
            select new { item, label };

foreach (var pair in query.ToList())
{
    pair.label.Valuer = pair.item.Valuer;
}
于 2013-04-05T14:08:47.830 に答える