Проблема в этой строке, которая не включает в себя какой-либо параметр хранимой процедуры (SP), в то время как SP требует один параметр, поэтому возникло исключение, упомянутое в заголовке:
var modelfollow = db.Following.SqlQuery("[dbo].[SelectFollow]").ToList();
Также вы добавляете параметр к SqlCommand
экземпляру, который содержит пустую строку запроса (и вы не выполняете его впоследствии):
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Add("@userid", SqlDbType.BigInt).Value = userid;
Поскольку вы используете метод DbSet.SqlQuery()
, вы можете передать параметры запроса в качестве второго параметра этого метода, объявив SqlParameter
instance:
public PartialViewResult AllStates(string state, string userid)
{
// define stored procedure parameter here
var parameter = new SqlParameter("@userid", SqlDbType.BigInt);
parameter.Value = userid;
List<Farmer> model = db.Farmer.Where(u => u.FarmState == state).Take(3).ToList();
// use stored procedure parameter declared above
var modelfollow = db.Following.SqlQuery("[dbo].[SelectFollow] @userid", parameter).ToList();
ViewBag.folo = modelfollow;
return PartialView("_UsersList", model);
}