Ich habe eine Basis -Rasier -Komponente, die Daten aus einer SQL -Datenbank lädt. Um eine Sortierreihenfolge an diese Komponente zu übergeben, gibt es zwei "sortierende" Func Parameter und zwei Bool, um ASC/Desc zu setzen. Code: < /p>
if (sort1 != null && sort2 != null)
{
if (GridBehavior.SortOrderDescending1)
{
if (GridBehavior.SortOrderDescending2)
{
query = query.OrderByDescending(sort1).ThenByDescending(sort2);
}
else
{
query = query.OrderByDescending(sort1).ThenBy(sort2);
}
}
else
{
if (GridBehavior.SortOrderDescending2)
{
query = query.OrderBy(sort1).ThenByDescending(sort2);
}
else
{
query = query.OrderBy(sort1).ThenBy(sort2);
}
}
}
else if (sort1 != null)
{
if (GridBehavior.SortOrderDescending1)
{
query = query.OrderByDescending(sort1);
}
else
{
query = query.OrderBy(sort1);
}
}
< /code>
Das sieht für mich auf einer Hand sehr "hässlich" aus, auf der anderen Hand möchte ich nicht darüber nachdenken . < /p>
Kann dies generischer gemacht werden? Ich kann mit orderBy () nacheinander nicht abfragen, da die Sortierung im gesamten Satz immer durchgeführt wird, also überschreibt man im nächsten. >
p.s.: Der Code funktioniert auch nicht, wenn nur Sort2 angegeben ist! < /p>
Mehr als eine Bestellung nach Klausel im EF -Kern pro Parameter func <t, obj> und wie die Abfrage generische Erstellung ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Python generische Typevar, die an die generische Basisklasse gebunden ist
by Anonymous » » in Python - 0 Replies
- 12 Views
-
Last post by Anonymous
-