5 cadre, n'utilisant pas de relation clé étrangère dans la base de données, et je me demande comment 4.0 peut améliorer ce rebut de code dont j'ai besoin de repasser l'objet multiple après plusieurs jointures de tables.3.5 VS 4.0 .NET Framework
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;
}
}
}
Il y a 3 objets étant retour à l'appelant dans l'interface graphique. Cependant, pour ce faire, je dois ajouter la propriété de CourseByTutors public {get; set} et le cours public (get; set;) dans la classe User, ce qui, je le trouve, gâchera mon code. Dans ce cas, comment 4.0 serait capable de résoudre cela? J'ai lu quelque chose à propos de tupel select .. ??
Vous pouvez sélectionner un tuple, ou au moins un type dynamique dans 3.5, AFAIK. –
Pourriez-vous me montrer un exemple en convertissant mon code ci-dessus? Je suis en train de décider s'il faut convertir en 4.0 ou non .. – VeecoTech