I've run into a slight problem when filtering on a boolean property (adapter, SQL 2005).
I have this query:
metaData.
Where(s => s.StudentRef == studentRef && s.Submitted);
Which generates this invalid SQL:
exec sp_executesql N'SELECT DISTINCT [LPLA_1].[Id], [LPLA_1].[Student_Ref] AS [StudentRef], [LPLA_1].[Subject_Code] AS [SubjectCode], [LPLA_1].[Subject_Group] AS [SubjectGroup], [LPLA_1].[Submitted], [LPLA_1].[Reference] FROM [Cristal].[dbo].[Subject_References] [LPLA_1] WHERE ( ( ( ( ( ( [LPLA_1].[Student_Ref] = @StudentRef1) AND ( [LPLA_1].[Submitted]))))))',N'@StudentRef1 int,@Submitted2 bit',@StudentRef1=20063002,@Submitted2=1
I would have expected the predicte for submitted to be generated as AND [LPLA_1].[Submitted] = @Submitted2
I'm currently getting round the issue by doing this:
metaData.Where(s => s.StudentRef == studentRef && Convert.ToInt32(s.Submitted) == 1)