2011-04-05 147 views
3

所以我之前發佈了一個關於左連接查詢結果的問題,其中group by用於另一個表,並且導致嵌套在Cross Apply SQL中的Outer應用效率極低。我沒有從答覆中得到任何有用的信息(儘管我很欣賞這種努力),所以我決定做更多的研究。Linq to SQL嵌套查詢特性

對跨應用&外應用:

跨應用和外部應用運營商

這些運營商都是不 的SQL Server 2000提供的LINQ to SQL嘗試一個 一系列重寫來代替它們 與適當的連接。

交叉申請和外部申請 產生的關係 導航。 這種重寫可能的查詢組合是 沒有明確定義。因此,SQL Server 2000支持的 最小的一組查詢集合是 集合,該集合不涉及關係 導航。

我不會問爲什麼他們雖然這是一個好主意,但我想知道是否有辦法強制LINQ到SQL 2000模式。這似乎解決了我的問題。

回答

1

我在這裏有一個簡單的方法...如果你發現自己不得不錘擊LINQ查詢來使它很好地發揮,那麼:不要玩那個遊戲。由於您有ExecuteQuery<T>供您選擇,我只需直接編寫TSQL,以我可以測量,預測和優化的方式 - 並使用LINQ-to-SQL(或dapper.net)將結果提升爲基本目的。

+0

我已經考慮過這種方法。問題是我還在想我是否錯過了一些東西。我試圖做的似乎並不困難,但我沒有得到我所期望的。我想知道如果我錯了。 – 2011-04-06 03:02:55