Я использую Entity Framework 2.2.2 в своем текущем проекте, и мне приходится делать еще несколько специализированных запросов к базе данных.
Во время разработки я всегда проверяю запросы, созданные EF, чтобы убедиться, что они не делают больше.чем я ожидаю.
В настоящее время я работаю в сценарии TPH (Table-Per-Hierarchy), где я хочу запрашивать только некоторые свойства базового класса, но EF всегда включает дискриминатор в предложении WHERE
.
Пример минимального запроса выглядит следующим образом:
SELECT `x`.`Id` AS `Id0`, `x`.`Id`
FROM `TestResults` AS `x`
WHERE `x`.`discriminator` IN (2, 3, 1, 0)
Запрос, стоящий за ним, выглядит примерно так:
Context.TestResults
.Select(x => new
{
Id = x.Id
});
Хотя это не сильно повлияет на производительность в моемcase мне интересно, могу ли я как-то отключить столбец дискриминатора для конкретных запросов, чтобы избежать предложения WHERE
?