我正在做一個與linq和實體框架的查詢。我正在使用的數據庫是Oracle。下面是代碼:與實體框架的Linq查詢不會產生結果
Entities bdd = contextWrapper.GetContext();
data = (from table in bdd.COP_PRDTICSOURES
where (table.IDTTIC==ticketId && table.IDTPRD==productId)
select table).AsEnumerable();
當我看着變量bdd.COP_PRDTIC_SOURES
使用調試器,它包含了匹配我的兩個標準的條目。但是,執行查詢後,data
變量不包含任何結果。
我的語法有什麼問題嗎?
一些額外的信息:
- 我在找我執行此查詢未在數據庫COMMITED實體。它是在同一個事務中創建的。
- 我對後面的數據使用了一個
foreach
,所以它不是延遲加載的問題。
這也可能有所幫助。 http://stackoverflow.com/a/32936340/4767498 –
什麼代碼訪問'data',一個'foreach'? –
Linq使用懶惰查詢,這意味着你在數據中有什麼不是數據,而是將獲取數據的查詢。如果你做了另一個linq查詢,它會將條件添加到查詢中而不是檢索數據。這不會發生,直到你訪問查詢的內容,通過調用枚舉這是通過foreach,ToArray,ToList,第一等完成 – MikeT