5 фреймворк, не использующий внешний ключ отношения в базе данных, и мне интересно, как 4.0 может улучшить этот мусор кода, который мне нужен, чтобы передать несколько объектов после нескольких объединений таблиц.
public IList<User> GetTutorByCourseId(int courseId)
{
IList<User> output = new List<User>();
using (leDataContext db = new leDataContext())
{
try
{
var m = from c in db.Courses
join ct in db.CourseByTutors on c.Id equals ct.CourseId
join u in db.Users on ct.TutorId equals u.Id
where c.Id == courseId
select new
{
c, ct, u
};
foreach (var result in m)
{
User user = new User();
user.Id = result.u.Id;
user.Name = result.u.Name;
user.CourseTutor.Id = result.ct.Id;
user.Course.Name = result.c.Name;
output.Add(user);
}
return output;
}
catch (Exception ex)
{
Logger.Error(typeof(User), ex.ToString());
throw;
}
}
}
Там3 объекта возвращаются вызывающей стороне в графическом интерфейсе.Однако, чтобы сделать это, мне нужно добавить свойство public CourseByTutors {get; set} и общедоступный курс (get; set;) в классе User, который, как я обнаружил, испортит мой код.В таком случае, как бы 4.0 смог решить эту проблему?я читал что-то о выборе тупел .. ??