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
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users