我有一个模型优先的 EF 模型。我刚刚导入了第一个存储过程:cpas_POIDVendorProjectDate
我将它作为函数导入。它具有三个输入参数:@ProjectID(int)
、@VendorID(int)
、 和@Workdate(datetime)
,并返回@POID(int)
。
这是SQL代码:
CREATE PROCEDURE [dbo].[cpas_POIDVendorProjectDate]
@VendorID int,
@ProjectID int,
@WorkDate datetime,
@PO_ID int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @RowCount int;
SELECT @PO_ID = ID FROM tblPO WHERE
VendorID = @VendorID
AND ExpirationDate >= @WorkDate
AND (ProjectID IS NULL OR ProjectID = @ProjectID)
AND CapitalExpense = (
SELECT CapitalExpense FROM tblProjects WHERE ID=@ProjectID)
AND GroupCode in (1,3,5);
SET @RowCount = @@RowCount;
IF (@RowCount != 1)
SET @PO_ID = -1*@RowCount;
END
我在我的 c# 程序中调用它如下:
context.cpas_POIDVendorProjectDate(
currVendorID, currProjectID, currWorkDate, currPOID);
Intellisense 说我对“上下文”的使用是错误的……它是一个“变量”,我将它用作“方法”。
此外,currPOID
被拒绝,因为它正在寻找 a system.data.objects.OjbectParameter
,而不是int
. Intellisense 对函数名和其他参数很满意(奇怪的是……)
我在这里做错了什么?