Starałem się, aby to działało. Chciałbym, aby oświadczenie EF przyjęło kolumnę na zamówienie. Moja wypowiedź była to oryginalna:Entity Framework i dynamiczne zamówienie według instrukcji
var Query = from P in DbContext.People
where P.BusinessUnits.Any(BU =>BU.BusinessUnitID == businessUnitId)
orderby P.LastName
select P;
A ja zmieniłem to na następujące kwestie:
var Query = from P in DbContext.People
where P.BusinessUnits.Any(BU =>BU.BusinessUnitID == businessUnitId)
orderby sortField
select P;
Gdzie sortField
jest kolumna chcemy posortować, a jest ciągiem tj LastName
. Jednak wydaje się, że nie działa, nie sortuje, a wyjściowy ciąg SQL jest całkowicie błędny. Czy ktoś już to pracował?
Doskonała odpowiedź, w tym konkretnym przypadku, to wydaje się lepsze rozwiązanie więc użyję tego, dzięki. – eyeballpaul
Czy istnieje sposób dodania tutaj klauzuli "asc" i "desc"? – eyeballpaul
Ponadto, dlaczego miałoby to działać z właściwościami łańcuchowymi, a nie liczbami całkowitymi? Jedną z właściwości jest Int32, a kiedy próbuję sortować w tej kolejności, pojawia się błąd: "{" Nie można rzutować typu "System.Int32", aby wpisać "System.Object". LINQ to Entities obsługuje tylko podstawowe typy rzutowania Entity Data Model. "}" – eyeballpaul