0

ObjectQuery から StoredProcedure を呼び出すことは可能ですか? 基本的に、クエリを動的に構築してサーバー側で実行したいと考えています。各クエリは、"and" または "or" を使用してさまざまな条件を組み合わせることができる検索の一部であると考えることができます。このように作成された ObjectQueries で正常に動作しています。

var query1 = from a in objectContext.Articles
where a.Name = 'SOMETHING'
select new ResultType { ArticleId = a.ArticleId, Name = a.Name };

var query2 = from a in objectContext.Articles
where a.Name = 'SOMETHING ELSE'
select new ResultType { ArticleId = a.ArticleId, Name = a.Name };

query1 = query1.Intersect(query2); // or union depending on what we need

// ... and more queries

var something = query1.ToList(); // query execution...

では、ストアド プロシージャ コールを使用してこれを機能させるにはどうすればよいでしょうか。問題は、ExecuteFunction の呼び出しが ObjectResult を返すことです。

4

1 に答える 1

1

あなたのコードにはストアド プロシージャ呼び出しは見当たりませんが、ObjectQueryLinq-to-entities クエリをストアド プロシージャと組み合わせたい場合、答えは簡単です。不可能です。理由はSQLと同じです。SQL でストアド プロシージャ呼び出しの結果セットを操作することはできません。

ObjectQuery/ Linq-to-entities クエリをストアド プロシージャとして定義することもできません。

于 2012-01-17T09:18:17.287 に答える