我想在LINQ中創建一個交叉應用到用戶定義的表值函數的查詢。該SQL將是非常非常簡單,如下:LINQ to SQL交叉應用
SELECT *
FROM MyTable mt
CROSS APPLY MyTVF(mt.id)
This後給出了包含兩個交叉應用LINQ查詢導致生成的SQL和外部的例子適用,但只針對一個子查詢不爲TVF。 This文章確認LINQ to SQL將爲「關係導航」生成交叉應用和外部應用運算符,但我不確定這種情況下的含義。 This後幾乎描述了我想要做的事情,答案表明要做到這一點的唯一方法是將SQL查詢包裝在存儲過程中,然後通過LINQ調用sp。我希望這不是真的,因爲我實際上需要一個tvf,可以在整個應用程序中以這種方式使用多個LINQ查詢,因此「將其包裝在sp中」對我而言不起作用。有誰知道通過LINQ獲得類似上面簡單的SQL語句的方法嗎?
保記住,linq和SQL之間的關係不是完全的,所以並不是所有的SQL命令都可以通過linq來解釋。 – nothrow 2010-06-22 08:45:15