我有一个存储过程sp_ValidateUser
,它返回两列UserID
和RoleID
。
我使用以下设置创建了函数导入:
MVC代码:
[HttpPost]
[AllowAnonymous]
public ActionResult Index(tblUser user)
{
SchoolDBEntities usersEntities = new SchoolDBEntities();
int? userId = usersEntities.fnValidateUser(user.Username, user.Password).FirstOrDefault(); //Check if correct username and password
string message = string.Empty;
if (userId.RoleID == 1) //returns error
{
//Redirect to URL
}
return View(user);
}
如何从RoleID
的返回集合中检索UserID
和sp_ValidateUser_Result
?
答案 0 :(得分:2)
由于您已经使用函数导入生成的存储过程的方法调用返回了一个名为sp_ValidatUser_Result
的复杂类型,因此您应该能够获得如下结果:
sp_ValidatUser_Result result = usersEntities.fnValidateUser(user.Username, user.Password).FirstOrDefault(); //Check if correct username and password
string message = string.Empty;
if (result != null && result.RoleID == 1)
{
//Redirect to URL
}
答案 1 :(得分:0)
我已经构建了一个存储过程,它将id数组作为输入参数并返回数据表(在我的例子中只是自引用表中的子元素的id)Take a look at the code here it's using EF and code first approach