5
我們非常大的代碼庫有上百個電話給ExecuteMethodCall的,下面這個模式:使用編譯了的LINQ若要ExecuteMethodCall SQL
[Function(Name = "dbo.storedproc")]
public ISingleResult<UserData> GetUserData(
[Parameter(Name = "UserId", DbType = "BigInt")] long? userId)
{
IExecuteResult result = ExecuteMethodCall(this, ((MethodInfo)(MethodBase.GetCurrentMethod())), userId);
return ((ISingleResult<UserData>)(result.ReturnValue));
}
然而,事實證明這給巨大的性能問題(衆所周知的問題,與Linq到SQL)。所以我正在考慮將這些代碼中的至少一部分轉換爲編譯的Linq To Sql。
我發現了編譯Linq To Sql的例子,但沒有一個涉及到ExecuteMethodCall。相反,他們都編譯一個Linq查詢(從... where ... select)。
如果有人能給我一個上面的代碼(使用ExecuteMethodCall)轉換爲編譯Linq To SQL的例子,我將不勝感激。
你看到微軟博客這個帖子[LINQ到SQL存儲過程 - Guy Burstein的博客](http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDIQFjAA&url=http%3A%2F%2Fblogs.microsoft.co.il%2Fblogs%2Fbursteg %2Farchive%2F2007%2F10%2F05%2Flinq-to-sql-stored-procedures.aspx&ei = jJKgULCXO9KU0QX9q4EQ&usg = AFQjCNEr-IG2GRfwSLPBGPXQvDqQUwASIg&sig2 = EGHEXpCmAfS-V3ok9AZzvg&cad = rja)我認爲這可能有用 –
剛剛閱讀該帖子。但是,它沒有顯示如何將ExecuteMethodCall與編譯的linq一起用於sql查詢。 – user1147862
性能問題究竟在哪裏?它是'GetCurrentMethod()'這會減慢你或其他什麼東西? –