Case語句我敢肯定,這是一個做了房子了幾次,但我從來沒有找到一個解決方案...使用LINQ(NHibernate的),以執行與計數
所以是有可能這樣做像這樣使用NHibernate 3最好的Linq:
SELECT
COUNT(CASE WHEN IsWithdrawn = 1 THEN 1 END) AS WithdrawnCount,
COUNT(CASE WHEN IsWithdrawn = 0 THEN 1 END) AS ViewAllCount
FROM Tutorials
我敢肯定這是不是可能的,最好的辦法是選擇只是在這種情況下,SQL ...但也許有一些新的nHibernate 3.1可以做到這一點,甚至使用queryover?
感謝
通過sql profiler運行這個子查詢使用case語句的區別是61%和39%。令人遺憾的是,儘管上述解決方案可行,但使用性能成本太高。如果查詢不會經常出現,那麼它是一個不錯的選擇;) – Jay 2011-03-25 11:44:08