J'ai une classe Taskwekui avec cette définition: et j'ai écrit cette requête: p> est la vraie? Puis-je écrire ma requête mieux que cela? P> P>
4 Réponses :
Cette requête semble être correcte du point de vue du résultat obtenu.
mais dans votre requête interne donc c'est un meilleur moyen d'obtenir une meilleure valeur en dehors de Une requête comme suit: p> aller supplémentaire p.planprogress! = null est toujours vrai car p.planprogress n'est pas de type nullable. Donc, notre code devient comme ceci: p> ou vous pouvez modifier une définition de votre classe et faire p.planprogress de type nullable: p> titis.where (p => p.planprogress! = null && p.planprogress> 0) .max (w => w.enddate) code> est calculé pour chaque élément de la collection avec
t.planprogress> 0 code> p>
+1, la seule chose que je changerais est le premier code> à un
selfeordefault code> sauf s'il ne peut garantir qu'il y aura toujours un élément avec
planprogress> 0 code >
+1, mais je pense que "Collection.max" jette une exception si "collection" est vide, il faut donc probablement être un chèque supplémentaire avant de définir "max". La collection sera vide si tout planprogress <= 0. Comme il y a des chèques pour planprogressage> 0 i assumez planprogression <= 0 est légal et une exception probablement ne serait probablement pas attendue.
Vous n'avez pas besoin de comparer planprogress avec NULL car Double est le type de structure, il ne peut pas être null.
Si vous voulez TaskWekui avec Max Enddate et Plan de plan positif, vous pouvez essayer ce code: P>
TaskWeekUI ti = tis.Where(t => t.PlanProgress > 0).Max(w => w.EndDate);
Ça finira par attribuer une attribution DateTime code> à
TaskWeekui code>
Ne peut pas convertir implicitement le type 'system.datetime' à "Taskwekui"
Je pense que vous voulez que celui dont le planprogress> 0 code> a un dernier
enddate code>.
+1, belle solution claire sans aucune exception étrangère introduite en utilisant max.
TNX, je pense que c'est une meilleure solution simple.
N'est-ce pas une perte de temps pour trier toute la liste juste pour obtenir l'élément avec le plus haut enddate code>? Ce semble être une meilleure solution.
@Juanluissoldi: Vous êtes correct. La meilleure solution devrait être O (n). Mais de toute façon, il est acceptable et c'est la meilleure base de solution sur les fonctions de LINQ intégrées.
var max_Query = (from s in db.Songs join bk in db.Albums on s.BookId equals addAlbumDetailsViewModel.BookId select s.SongId).Max(); max_Query++;
Excusez-moi, j'ai édité et ajouter une requête, je l'ai oubliée.
p => p.planprogress! = null code> n'est pas requis dans votre
où code> clause
TNX, mais puis-je écrire une requête pour max dans la condition?
Voir: Stackoverflow.com/questions/1101841/...
en double possible de Comment utiliser LINQ pour sélectionner un objet avec une valeur de propriété minimale ou maximale