Ich habe eine Get-Methode mit funktionierendem Paging, möchte aber auch eine Methode erstellen, die mehrere Entitäten desselben Basistyps zurückgeben kann und trotzdem über Paging verfügt.
Ich weiß, dass dies irgendwie in SQL übersetzt werden muss, was meiner Meinung nach als mehrere Ergebnismengen zurückgegeben werden müsste.
// Model classes
public class Food
{
string Name {get;set;}
}
public class Fruit : Food
{
bool IsSweet {get;set;}
}
public class Vegetable : Food
{
bool IsGross {get;set;}
}
// FruitRepo -- BLL layer
public List GetFruit(int userId, int page, int itemsPerPage)
{
var query = repo.Get(e => e.userId == userId);
var dbResults = query.Skip((itemsPerPage * page) - itemsPerPage).Take(itemsPerPage).ToList();
return dbResults;
}
// FoodRepo -- BLL layer
public List GetFood(int userId, int page, int itemsPerPage)
{
// How can I use IQueryable here to implement paging correctly?
List rv = new List();
var repo = new Repo();
rv.AddRange(repo.Get(e => e.userId == userId).ToList());
rv.AddRange(repo.Get(e => e.userId == userId).ToList());
return rv;
}
Ich habe eine Get-Methode mit funktionierendem Paging, möchte aber auch eine Methode erstellen, die mehrere Entitäten desselben Basistyps zurückgeben kann und trotzdem über Paging verfügt. Ich weiß, dass dies irgendwie in SQL übersetzt werden muss, was meiner Meinung nach als mehrere Ergebnismengen zurückgegeben werden müsste. [code]// Model classes public class Food { string Name {get;set;} }
public class Fruit : Food { bool IsSweet {get;set;} }
public class Vegetable : Food { bool IsGross {get;set;} }
// FruitRepo -- BLL layer public List GetFruit(int userId, int page, int itemsPerPage) { var query = repo.Get(e => e.userId == userId); var dbResults = query.Skip((itemsPerPage * page) - itemsPerPage).Take(itemsPerPage).ToList(); return dbResults; }
// FoodRepo -- BLL layer public List GetFood(int userId, int page, int itemsPerPage) { // How can I use IQueryable here to implement paging correctly?
List rv = new List();
var repo = new Repo(); rv.AddRange(repo.Get(e => e.userId == userId).ToList()); rv.AddRange(repo.Get(e => e.userId == userId).ToList());
Ich arbeite mit Jetpack Paging, um Daten aus einer Room-Datenbank mithilfe von Pager und PagingConfig in meinem ViewModel zu laden. Ich möchte Daten früher vorladen, bevor sie vom Benutzer...
Ich muss eine Funktion zum Aktivieren/Deaktivieren von Mitarbeitern aus zwei Entitäten implementieren: UserProfile und UserStatus in der Domänenschicht der ABP-Anwendung. Ich möchte wissen, in...
Ist die Verwendung von @model IQueryable in einer Razor-Ansicht eine gute Idee? Gibt es ein geeignetes Szenario, in dem Sie @model IQueryable in der Razor-Ansicht verwenden würden?
Ich habe gerade...
Ich verwende DataTables mit Serverside Verarbeitung. Auf PopState wird die Tabelle mit geladenen Werten neu gezeichnet. Bis auf ein Problem funktioniert alles gut: Wenn ich aus einem Zustand gehe, in...
Ich verwende DataTables mit Serverside Verarbeitung. Auf PopState wird die Tabelle mit geladenen Werten neu gezeichnet. Bis auf ein Problem funktioniert alles gut: Wenn ich aus einem Zustand gehe, in...