Я использую Linq поверх View в базе данных SQL Server. Конкретное предложение следующее:
var valoresFiltrados = Context.VDoNotUse_v2.Select(doNotUse => doNotUse).Where(doNotUse => doNotUse.PlatformValue.Equals(platform) && doNotUse.Bank.Equals(bank) && doNotUse.LanguageValue.Equals("CZE_CZ")).OrderBy(doNotUse => doNotUse.ID);
где VDoNotUse - объект представления. Это предложение возвращает дублированные значения (первые идентификаторы, например, 12170, 12171, 12170, 12171, 12204 ...), и эти значения не упорядочены, как вы можете видеть в примере. Однако, если я использую SqlDataAdapter со следующим предложением (которое, я уверен, эквивалентно Linq), оно работает и возвращает правильные значения:
"SELECT * FROM VDoNotUse_v2 WHERE PlatformValue = '" + platform + "' AND Bank = '" + bank + "' AND LanguageValue = 'CZE_CZ' order by id asc"
Конечно, они оба используют одно и то же соединение и базу данных.
Кто-нибудь знает, почему это происходит?