Я использую представление для возврата сложного поискового запроса. Когда я использую 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.