如何在预处理查询中调用存储过程

时间:2013-04-15 13:47:17

标签: sql-server entity-framework stored-procedures parameters visual-studio-lightswitch

我有一个存储过程,它返回我需要在屏幕上查看的所有数据。我的问题很简单,如何使用参数调用存储过程?

partial void Query1_PreprocessQuery(int? UserSaveId, ref IQueryable<RuleEntry> query)
{
     query = ????   
}

CREATE PROCEDURE [dbo].[FilterRuleEntriesByUserSaveId]
@userSaveId INT
AS    
BEGIN
WITH records
AS
.......
.......
SELECT  [One], [Two], [Three]
FROM    records 
WHERE   rn = 1
END

由于

2 个答案:

答案 0 :(得分:1)

如果您显示数据,最简单的方法是使用自定义RIA服务。

本文向您展示如何在LightSwitch中创建RIA服务(虽然它适用于创建图表,但它会向您显示所需的所有技术)。

How Do I: Display a chart built on aggregated data (Eric Erhardt)

有关在LightSwitch中执行存储过程的一些其他信息(尽管不完全是您的场景,它可能有助于您理解该概念)。

但是一旦你创建了一个RIA服务,你可以做任何你想做的事情,包括使用David链接中描述的技术。

Executing a Simple Stored Procedure in LightSwitch

要访问 ConfigurationManager ,您需要添加对 System.Configuration.dll 的引用(如果尚未添加)。然后在你的代码中你需要一个 using / imports System.Configuration 语句。

答案 1 :(得分:0)

是的,RIA服务是在lightswitch中使用存储过程的唯一方法。

我还发现,如果在实体数据模型之上构建RIA服务,则RIA服务类必须与EDM位于同一项目(程序集)中。如果没有,LS不能使用RIA服务。