J'ai une requête LINQ to SQL sur l'entité qui a EntitySet des enfants que je dois trier sur certains champs enfants, à savoir utiliser cette requête:problème de tri LINQ to SQL dynamique
var query = from p in context.Patients
let order = p.Lab_Orders.First()
orderby order.Order_Date
select p;
Cette requête fonctionne bien, mais comment pourrais-je le modifier pour utiliser la méthode DBLQ OrderBy ce que je passerais comme un paramètre de tri en cours d'exécution?
Merci pour la réponse. C'est exactement ce que je voulais dire - Dynamic LINQ. Ssory sur la confusion, en quelque sorte je pensais que tout le monde sait ce que c'est puisque nous utilisons cette terminologie sur mon lieu de travail :-) Juste une question - parfois nous avons de nouveaux patients sans ordres de laboratoire associés pour le moment. Évidemment, dans ce cas, je ne me soucie pas d'un tel tri. Dois-je remplacer First() par FirstOrDefault()? – Victor
@Victor: Si vous remplacez par 'FirstOrDefault' et essayez de trier' FirstOrder.Order_Date', vous obtiendrez une 'NullReferenceException' si des enregistrements n'ont pas d'ordre. S'il est possible qu'il n'y ait pas de commandes, je suggère de séparer explicitement la date de la commande, comme dans: 'FirstOrderDate = p.Lab_Orders.FirstOrDefault (o => (DateTime?) O.Order_Date)', puis triez sur '' FirstOrderDate'. – Aaronaught
Il est possible qu'il n'y ait pas de commandes mais que de nouveaux patients soient traités séparément, c'est-à-dire que tous les patients aient des ordres, ou qu'ils ne le fassent pas tous. Mais, je pense que votre conseil est valable, alors je le ferai. – Victor