J'ai créé deux entités (simplifié) en C#:LINQ: affichage des résultats des listes vides
class Log {
entries = new List<Entry>();
DateTime Date { get; set; }
IList<Entry> entries { get; set; }
}
class Entry {
DateTime ClockIn { get; set; }
DateTime ClockOut { get; set; }
}
J'utilise le code suivant pour initialiser les objets:
Log log1 = new Log() {
Date = new DateTime(2010, 1, 1),
};
log1.Entries.Add(new Entry() {
ClockIn = new DateTime(0001, 1, 1, 9, 0, 0),
ClockOut = new DateTime(0001, 1, 1, 12, 0, 0)
});
Log log2 = new Log()
{
Date = new DateTime(2010, 2, 1),
};
La méthode ci-dessous est utilisé pour obtenir les journaux de date:
var query =
from l in DB.GetLogs()
from e in l.Entries
orderby l.Date ascending
select new
{
Date = l.Date,
ClockIn = e.ClockIn,
ClockOut = e.ClockOut,
};
le résultat de la requête LINQ ci-dessus est: Ma question est, quelle est la meilleure façon de réécrire la requête LINQ ci-dessus pour inclure les résultats du deuxième objet que j'ai créé (Log2), car il a une liste vide. En d'autres termes, je voudrais afficher toutes les dates même si elles n'ont pas de valeurs temporelles.
Le résultat attendu serait:
/*
Date | Clock In | Clock Out
01/01/2010 | 09:00 | 12:00
02/01/2010 | |
*/
Vous avez besoin de publier la fonction 'executeQuery' ... puisque c'est là que toutes les choses importantes se passent ici. –
Y at-il un lien entre les entrées et les journaux? – Nix