2015-04-04 39 views

回答

0

而不是创建一个存储过程或在数据库级的视图,您可以通过它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); 
} 

希望这有助于...

相关问题