我有一個奇怪的問題。我注意到,定義的代碼如下:爲什麼SQL查詢中沒有WHERE子句?
var query= unitOfWork.Session.CreateCriteria(typeof (SomeEntity)).Future<SomeEntity>().AsQueryable();
var queryWithWhere= query.Where(x => x.SomeProperty.ToLower().Contains("Xxx".ToLower()));
var result= queryWithWhere.ToList();
給出正確的結果,但SQL查詢我在NHibernateProfiler看着不包含where子句,它只是
SELECT ...
FROM SomeEntity
而且似乎這WHERE
從我代碼是在SQL查詢運行後使用的,就像Linq-to-Objects而不是Linq-to-SQL一樣。
當然,SQL查詢在第三行之後開始。
什麼是生成的SQL查詢? – slugster 2013-03-01 13:31:04
就像這樣:從SomeEntity中選擇[all columns]; - 沒有條款 – user1938586 2013-03-01 13:32:09
檢查我的答案,它會做的伎倆。 – Mariusz 2013-03-04 18:59:58