-1
嗨我在我的mvc项目中使用EF6,并且db是sqlserver 2012.现在我想要在存储过程中使用连接,并且需要显示这些数据我的看法。在实体框架中使用连接在存储过程中一次获取多个表数据
但我无法获取这些数据。我想知道如何在实体框架中检索多个表连接存储过程中的数据。而我的项目是Db第一种方法。
问候, 苏里亚
嗨我在我的mvc项目中使用EF6,并且db是sqlserver 2012.现在我想要在存储过程中使用连接,并且需要显示这些数据我的看法。在实体框架中使用连接在存储过程中一次获取多个表数据
但我无法获取这些数据。我想知道如何在实体框架中检索多个表连接存储过程中的数据。而我的项目是Db第一种方法。
问候, 苏里亚
而不是创建一个存储过程或在数据库级的视图,您可以通过它combaining不同型号使用视图模型。然后将此ViewModel从Controller返回给View。在View上更改数据后,再次将此ViewModel返回给Controller。你需要的是通过使用lambda表达式加入Controller中的实体,然后将结果作为ViewModel返回。或者,你可以直接将视图模型如下:
型号:
public class StudentViewModel
{
public int ID { get; set; }
public string InstituteName { get; set; }
public string ContactNameSurname { get; set; } //Added to obtain ContactName and Surname on Index page
public string CityName { get; set; } //Added to obtain City Name on Index page
//Navigation property
public virtual City City { get; set; }
}
控制器:
public ActionResult Index_Read([DataSourceRequest] DataSourceRequest request)
{
var dataContext = repository.Students;
var result = dataContext.ToDataSourceResult(request, m => new
WebUI.Models.StudentViewModel
{
ID = m.ID,
ContactNameSurname = m.ContactName + " " + m.ContactSurname,
InstituteName = m.InstituteName,
CityName = m.City.Name
}
);
return Json(result, JsonRequestBehavior.AllowGet);
}
希望这有助于...