У нас есть приложение ASP .NET MVC, которое позволяет пользователям предоставлять набор критериев фильтрации, которые логически объединяются.Результатом этого является графическое представление пользователю, сколько элементов соответствует этим критериям.Затем пользователь может принять эти критерии для создания набора сущностей в другой таблице.
Это интуитивный и, 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