Ich habe das Projekt-Entity und das ProjektDTO. Ich versuche, eine WebAPI-Controller-Methode zu erstellen, die ProjectDTOs akzeptieren und zurückgeben kann und OData unterstützt.
Das Problem ist, dass ich ein ORM verwende, das die Datenbankabfrage mit dem Projekt-Entity durchführt und nicht mit dem Projekt-DTO. Gibt es eine Möglichkeit, Filtern/Sortieren/Paging von OData basierend auf ProjectDTO auf die Projekt-Entity-Abfrage anzuwenden?
public ODataQueryResult GetProjects(ODataQueryOptions query)
{
var context = new ORM_Context();
var projects = context.Projects; // IQueryable
var projectDtos = query.ApplyTo(projectDTOs)); // <-- Ich möchte hier etwas ähnliches erreichen
var projectDTOs =
projects.Select(
x =>
new ProjectDTO
{
Id = x.Id,
Name = x.Name
});
var projectsQueriedList = projectDtos.ToList();
var result = new ODataQueryResult(projectsQueriedList, totalCount);
return result;
}