We have developed a logistic domain system that deals with millions of records. In order to show the records as per the filter applied by the user, we were fetching the data with filtering conditions included in the query and fetching back the result.
Now we have implemented ODataController to our system, After implementation the performance has reduced and its taking much time to execute the user actions.
I have an ODataController. Inside that I have a GetAllDetails() method that returns IQueryable result.
I have 3 million details in my database. I need to show 100 records per page on the table.
Is the ODataController executes the query first and then applies filter on it? How can I improve the performance?
[EnableQuery]
public IQueryable<ScanDetail> Get()
{
GetAllDetails()
}