1

次のようなリストがあります。

var list = new List<string>();

このリストには、「ケン」、「ジョン」、「トム」などの名前が含まれています。

このリストを次のようなデータベース テーブルに追加する必要があります。

Id          SecondId              Name
1           1                     Ken
2           1                     John
3           2                     Tom

SecondId は二次キーであり、その情報は既に持っています。しかし、私の質問は、foreach ループを使用してリストを反復処理せずにすべての名前をデータベースに追加するより良い方法はありますか? linqクエリまたはその他の方法、またはリストを反復処理してデータベースに1つずつ追加する必要がありますか?

4

1 に答える 1

0

リストをチャンクとして追加する方法はないと思います。ForEachリストの拡張メソッドを次のように使用できます(DbContextデータベースアクセスにを使用していると仮定します)。

using (var context = new NameContext()) {
    list.ForEach(i => context.Names.Add(new Name(i, SECOND_ID)));
}

同じアプローチを使用できますが、DbContextを使用していない場合は、ラムダ式内にデータベース記述コードを使用します。

于 2012-12-03T22:35:50.580 に答える