我第一次使用LINQ在我的項目,以SQL和使用如下語句:不同的結果在實體框架比LINQ to SQL的
var ProjectRouteEmails = EmailManagerDAL.Context.ProjectRouteEmails
.Where(p => p.ProjectID == ProjectID);
這正確返回從視圖ProjectRouteEmails的三個不同的電子郵件。從電子郵件表返回的ID是117,591和610.
我改爲LINQ to Entities並使用相同的視圖和相同的LINQ語句,但即使我收回三條記錄,它是第一條記錄,身份證號碼117,這是返回三次。
我試着寫了LINQ statment這樣的:
var ProjectRouteEmails = from p in EmailManagerDAL.Context.ProjectRouteEmails
where p.ProjectID == ProjectID
select p;
,但它並沒有區別;相同的記錄返回三次。
我走進SQL Server Management Studio並運行查詢:
select * from ProjectRouteEmails (nolock)
where ProjectID = 12
和正確的三個獨特返回的記錄。
這是怎麼回事?
謝謝!
我會仔細檢查你是如何迭代通過這個輸出...聽起來很腥 – hunter 2011-05-10 13:19:48
我只是將它綁定到一個網格。此外,我還設置了一個斷點,並在觀察窗口中檢查它是否顯示相同的結果。 – user390480 2011-05-10 13:24:05