views:

54

answers:

1

Why this code throws a System.NotSupportedException telling that The specified method 'int? DateDiff(string, DateTime?, DateTime?)' on the type 'System.Data.Objects.SqlClient.SqlFunctions' cannot be translated into a LINQ to Entities store expression, though DateDiff has EdmFunction attribute?

context.Users.Where(f => System.Data.Objects.SqlClient.SqlFunctions.DateDiff("second", f.LastLogOn, somedatetime) < 0)
A: 

Here is a complete enumeration of canonical Date and Time functions supported by Entity SQL query provider link.

Try something like this

context.Users.Where(f=>EntityFunctions.DiffSeconds(f.LastLogOn, somedatetime)<0);
Yury Tarabanko
Thanks for answer, but this is SqlCe not Sql Server, it does not support any compare functions other than DateDiff.
Parsa
As far as I understand this function will be translated into DateDiff. Give it a try :)
Yury Tarabanko