数据读取器具有多个字段.多个字段对存储过程中的 EDM 基元或枚举类型无效



>我可以看到这个问题已经被问了几次,但看不到它与存储的过程调用相关的一个,如下所示,我可以工作。

 public ActionResult _NewEmpFifth()
    {
        IEnumerable<SelectListItem> departments = new List<SelectListItem>();
        using (EIPInternalEntities ctx = new EIPInternalEntities())            
        {
            departments = new SelectList(ctx.Database.SqlQuery<string>("EXEC dbo.uspGetDepartments").ToList(), "DepartmentID",  "Department");
            ViewBag.Department = new SelectList(departments, dataValueField:  "DepartmentID", dataTextField:  "Department");        
        }
        var sessionValues = Session["MySessionValues"] as MySessionValues;
        return PartialView();
    }

我知道问题是存储过程返回DepartmentIdDepartment这就是我想要的。 在此方法下,我可以将它们绑定到文本值属性吗?

我对框架工作和MVC仍然很陌生。

通了。 问题出在 上,需要替换为与存储过程返回的模型匹配的模型。

新型号

public class GetDepartment
{
    public int DepartmentID { get; set; }
    public string Department { get; set; }
}

更改的控制器操作

public ActionResult _NewEmpFifth()
{
    IEnumerable<SelectListItem> departments = new List<SelectListItem>();
    using (EIPInternalEntities ctx = new EIPInternalEntities())           
    {                              
        ViewBag.Department = new SelectList(ctx.Database.SqlQuery<GetDepartment>("EXEC dbo.uspGetDepartments").ToList(), "DepartmentID", "Department");        
    }
    var sessionValues = Session["MySessionValues"] as MySessionValues;
    return PartialView();
}

相关内容

  • 没有找到相关文章

最新更新