DISCLAIMER: I am not an expert on all the ways to use LINQ and Entity Framework.
I've reviewed your sample code. It would seem that the difference between the two method overloads is that working one resolves to: public static TSource FirstOrDefault<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate ); And the non-working one resolves to: public static TSource FirstOrDefault<TSource>( this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate ); The main difference between these two method overloads is that one uses IEnumerable and one uses IQueryable. Unfortunately, it would appear (to me at least) that IQueryable is specific to "LINQ to SQL" (i.e. SQL Server), as documented here: http://en.wikipedia.org/wiki/Language_Integrated_Query Therefore, the solution here is to make sure that the first overload (the one with IEnumerable) is used when using the System.Data.SQLite LINQ provider. -- Joe Mistachkin _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users