Я использую представление для возврата сложного поискового запроса. Когда я использую linq для запроса к EF, он возвращает одну и ту же строку 3 раза (фактическое количество строк верно).
используя LinqPad, я запустил один и тот же linq для моего объекта ef и фактического представления базы данных.
ReadmitPatientList
.AsQueryable()
.Where("PatientLastName.StartsWith(\"cooper\")")
.OrderBy (rpl => rpl.PatientLastName)
.Dump();
Это linq, который я использую для обоих.
linqpad показывает лямбду следующим образом: EF:
ReadmitPatientList.MergeAs (AppendOnly)
.Where ( => .PatientLastName.StartsWith ("cooper"))
.OrderBy (rpl => rpl.PatientLastName)
DB
ReadmitPatientList
.Where ( => .PatientLastName.StartsWith ("cooper"))
.OrderBy (rpl => rpl.PatientLastName)
Я не могу опубликовать результаты... но EF возвращает три строки одной и той же записи. БД возвращает 3 строки отдельных записей. Как и мой sql-запрос.
Что нужно изменить в моем EF LINQ, чтобы он работал правильно?
Код sql, сгенерированный запросом EF Linq, фактически возвращает правильные результаты, если выполняется в проводнике SQL.