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 回答