Linq to SQL とストアド プロシージャを使用した呼び出しを 1 つのクエリに混在させることはできますか?
var query = from asset in this.Context.Assets
let status = this.Context.GetAssetAttributeLastStatusHistory(asset.idAsset)
select new { asset, status };
GetAssetAttributeLastStatusHistory
ストアド プロシージャにマップされた関数のインポートは、このようなものです。
メモリではなくSQLでこれを行いたいです。メモリ内で、各アセットに対して行うことができました。
ページネーションとフィルタリングを実行する必要がありますが、SQL Server でクエリを実行するとパフォーマンスが向上します。
編集: このコードは例外を生成します。
Yes I did. I get an exception. LINQ to Entities does not recognize the method 'System.Data.Objects.ObjectResult.. GetAssetAttributeLastStatusHistory(System.Nullable1[System.Guid])' method, and this method cannot be translated into a store expression.
私が知っていることから、フレームワークがその式を SQL 式に変換できないために、これが発生します。
EDIT2:
これは不可能のようです。RAW SQL でも LINQ でも不可能です。ご意見ありがとうございます。