我正在使用視圖來返回複雜的搜索查詢。當我使用linq查詢EF時,它返回同一行3次(實際的行數是正確的)。LINQ to Entities not returns expected result
使用LinqPad我已經對我的ef實體和實際的數據庫視圖運行相同的linq。
ReadmitPatientList
.AsQueryable()
.Where("PatientLastName.StartsWith(\"cooper\")")
.OrderBy (rpl => rpl.PatientLastName)
.Dump();
這就是我正在使用的linq。
linqpad顯示lambda作爲這樣的: 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 Explorer中運行的EF Linq查詢實際上返回正確的結果生成的SQL代碼。
我不知道我明白。 rowcount與3或1一樣是否正確?你可以試試.Where(「it.PatientLastName LIKE'cooper%'」)。 – 2011-05-20 20:50:24
rowcount應該是同一個人的3個唯一記錄。 (即三次不同的訪問),EF查詢將返回相同的記錄3次。直接db查詢返回正確 – ecathell 2011-05-20 22:23:06
@ours我試過這種方式與同樣的結果再次EF,它不會對直數據庫工作。 – ecathell 2011-05-20 22:36:21