LINQ to Entities pulling back entire table

Posted by Focus on Stack Overflow See other posts from Stack Overflow or by Focus
Published on 2010-04-08T07:32:17Z Indexed on 2010/04/08 7:33 UTC
Read the original article Hit count: 766

In my application I'm pulling back a user's "feed". This contains all of that user's activities, events, friend requests from other users, etc. When I pull back the feed I'm calling various functions to filter the request along the way.

        var userFeed = GetFeed(db); // Query to pull back all data
        userFeed = FilterByUser(userFeed, user, db); // Filter for the user
        userFeed = SortFeed(userFeed, page, sortBy, typeName); // Sort it

The data that is returned is exactly what I need, however when I look at a SQL Profile Trace I can see that the query that is getting this data does not filter it at the database level and instead is selecting ALL data in the table(s).

This query does not execute until I iterate through the results on my view. All of these functions return an IEnumerable object.

I was under the impression that LINQ would take all of my filters and form one query to pull back the data I want instead of pulling back all the data and then filtering it on the server.

What am I doing wrong or what don't I understand about the way LINQ evaluates queries?

© Stack Overflow or respective owner

Related posts about LINQ

Related posts about linq-to-sql