2 votes

EF Core choisir un objet avec des conditions

Je ne peux pas m'attacher à une seule chose. Je serais très reconnaissant pour de l'aide.

Et donc, le problème : j'ai une liste de Foos des objets avec des entrées a et b qui doivent remplir deux conditions, par exemple

db.Foos.Where(foo => foo.a == a && foo.b == b).ToList()

J'ai besoin de calculer le Delta(foo) sur les Foos et sélectionnez dans la liste l'objet pour lequel ce delta est minimal.

Exemple de Delta :

foo => (a*2 + b) - (foo.a + foo.b)

En fait, une question : comment puis-je sélectionner cet objet ?

2voto

Igor Points 7994

Pour obtenir le foo avec la plus petite valeur delta, vous pouvez trier l'ensemble de résultats filtrés par la valeur delta de façon à ce qu'il soit ordonné avec la plus petite valeur en premier dans la liste, puis prendre le premier élément de cet ensemble de résultats.

var fooWithSmallestDelta = db.Foos
    .Where(foo => foo.a == a && foo.b == b)
    .OrderBy(foo => (a*2 + b) - (foo.a + foo.b))
    .FirstOrDefault();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X