5
私たちの非常に大規模なコードベースがExecuteMethodCallへの呼び出しの数百を持っているExecuteMethodCallとLINQ to 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に変換することに目を向けている。
私はCompiled Linq To Sqlの例を見つけましたが、ExecuteMethodCallは含まれていませんでした。代わりに、それらはすべてLinqクエリをコンパイルします(from ... where ... select)。
コンパイル済みLinq To SQLに変換された(ExecuteMethodCallを使用して)上記のコードの例を誰かに教えていただければ幸いです。
では、Microsoftのブログにこの記事を見ました[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&jiKgULCXO9KU0QX9q4EQ&usg = AFQjCNEr-IG2GRfwSLPBGPXQvDqQUwASIg&sig2 = EGHEXpCmAfS-V3ok9AZzvg&cad = rja)便利だと思います –
ちょうどその記事を読んでください。ただし、ExecuteMethodCallをSQLクエリにコンパイルされたlinqで使用する方法は示されていません。 – user1147862
パフォーマンスの問題はどこにありますか? 'GetCurrentMethod()'はあなたの速度を落としているのでしょうか、それとも他の何かを完全に減速していますか? –