CSLA gives you the flexibility to choose either approach, depending on your specific needs.
In many (most?) cases, filtering should be done in the SQL statements, allowing the database to do the work and avoiding the return of unneeded data.
In some cases however, the filtering process may be complex enough that it is easier to code in C#/VB than in SQL. In that case you may retrieve all the data and filter it in the DataPortal_Fetch() method - only creating objects for data that matches your requirements.
Copyright (c) Marimer LLC