Я использую Entity Framework CTP 5 с «только кодом» (с SQL Server 2008). У меня есть объект, возвращенный из DbContext, из которого я потом получаю доступ к дочерней коллекции и выбираю из него один элемент. Вот мой LINQ заявление:Почему структура Entity Framework не добавляет «где» к SQL, сгенерированному при использовании SingleOrDefault?
Question currentQuestion = currentTopic.Questions.SingleOrDefault(x => x.IsCurrent);
Это приводит следующий SQL:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[CreatedAt] AS [CreatedAt],
[Extent1].[IsCurrent] AS [IsCurrent],
[Extent1].[Xml] AS [Xml],
[Extent1].[TopicId] AS [TopicId]
FROM [dbo].[Questions] AS [Extent1]
WHERE [Extent1].[SessionId] = 24
Мое ограничение "IsCurrent" не ссылается на всех. IsCurrent - это бит в моей базе данных.
Может ли кто-нибудь объяснить, почему это так? Это вызывает огромный успех.
не уверен ... x => x.IsCurrent == true – rene