Одним из преимуществ ORM, таких как Linq-to-SQL, является то, что нам не нужно выравнивать наши данные, чтобы извлечь их из базы данных.Если вы сопоставите свои объекты в конструкторе (то есть, если у вас сопоставлены их отношения), вы сможете получить только Problems
и затем получить соответствующие свойства, связанные с ними ...
var problems = from problem in dc.Problem2s select problem;
foreach (var problem in problems)
{
// you can work with the problem, its objective, and its problem type.
problem.DoThings();
var objective = problem.Objective;
var type = problem.ProblemType;
}
Таким образомвы сохраняете логическую структуру данных на своем уровне данных, а не анонимные типы, которые не могут быть легко переданы.