我们有一个ASP .NET MVC应用程序,允许用户提供一组逻辑AND一起的过滤条件。结果是以图形方式向用户显示符合这些条件的项目数。然后,用户可以接受这些条件,以在另一个表中创建一组实体。
这是直观的,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
答案 0 :(得分:2)
在这种情况下,使用存储过程EF不提供此类功能。
答案 1 :(得分:0)
你可以像这样写
allMatchingPeople.ForEach(p => context.MailRequest.Add(p));