<p>With the introduction of .NET 3.5 and the <code>IQueryable&lt;T&gt;</code> interface, new patterns will emerge. While I have seen a number of implementations of the Specification pattern, I have not seen many other patterns using this technology. Rob Conery's Storefront application is another concrete example using <code>IQueryable&lt;T&gt;</code> which may lead to some new patterns.</p>

<p><strong>What patterns have emerged from the useful <code>IQueryable&lt;T&gt;</code> interface?</strong></p>

It has certainly made the repository pattern much simpler to implement as well. You can essentially create a generic repository:
```
```
public class LinqToSqlRepository : IRepository
{
   private readonly DataContext _context;

   public LinqToSqlRepository(DataContext context)
   {
       _context = context;
   }

   public IQueryable<T> Find<T>()
   {
       return _dataContext.GetTable<T>(); // linq 2 sql
   }

   /** snip: Insert, Update etc.. **/
}
```
```
and then use it with linq:
```
```
var query = from customers in _repository.Find<Customer>() 
            select customers;
```
```