2011-07-19 2 views
2

ユーザーは、論理的にANDされた一連のフィルタ条件をユーザーが指定できるようにするASP .NET MVCアプリケーションがあります。その結果、それらの基準に一致するアイテムの数をグラフィカルに表示することができます。ユーザーは、これらの基準を受け入れて、別の表にエンティティーのセットを作成することができます。EFユーザーの選択に基づいて多くのエンティティを挿入

これは直感的で、IMO、ずさんなアプローチです:

// where "context" is an EF Context... 
foreach (var person in allMatchingPeople) { 
    context.MailRequest.Add(new MailRequest { 
     Person = person 
    }); 
} 

context.SaveChanges(); 

私はそれが反復的だということが好きではありません。もしそれがSQLなら、私はちょうど次のようなことをすることができます:

INSERT INTO MailRequest (PersonId) 
SELECT Id 
FROM Person 
WHERE ... -- filter by criteria provided from user input 

答えて

2

このような場合、ストアドプロシージャEFはそのような機能を提供しません。

0

あなたはこの

allMatchingPeople.ForEach(p => context.MailRequest.Add(p)); 
ようにそれを書くことができます
関連する問題