您的存储过程当前返回 标 量值。使用以下步骤来解决此问题:
像这样更改您的存储过程(不要
return
在存储过程中使用关键字返回值,Entity framework无法支持存储过程立即返回 标 量值。但是可以解决):ALTER PROC spIsValidUser
@UserName varchar(50),
@Password varchar(50)
AS
SELECt Count(*) FROM Users where UserName= @UserName and Password= @Password
return您需要将存储过程导入为
Function
。右键单击实体模型的工作区,然后选择Add -> Function import
。在
Add Function import
对话框中,输入要在模型中引用存储过程的名称,从下拉列表中选择过程,然后将过程的返回值选择为 Scalar 。最后,像这样编写代码:
MyBusEntities db = new MyBusEntities();
System.Nullable
empQuery = db.spIsValidUser(“abc”, “abc@123”).SingleOrDefault().Value;
MessageBox.Show(empQuery.ToString());// show 1 if Exist and 0 if not Exist
编辑: 我认为对存储过程返回值的支持取决于Entity framework的版本。另外,Entity
framework不具有丰富的存储过程支持,因为它是ORM而不是SQL的替代品。



