-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);
}
希望這有助於...