在我的控制器中我试图使用包含EF4来选择相关实体,但lambda表达式抛出以下错误,
我有在Entity类中定义的相关实体
public class CustomerSite
{
public int CustomerSiteId { get; set; }
public int CustomerId { get; set; }
public virtual Customer Customer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中我有
var sites = context.CustomerSites.Include(c => c.Customer);
public ViewResult List()
{
var sites = context.CustomerSites.Include(c => c.Customer);
return View(sites.ToList());
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我正确的方向我在这里做错了吗?
我试图用viewmodel实现IPagedList,我的主视图声明是
@model PagedList.PagedList<CustomerOrders.WebUI.Models.SiteAdminListViewModel>
Run Code Online (Sandbox Code Playgroud)
然后我有一个显示模板,它具有以下声明
@model CustomerOrders.WebUI.Models.SiteAdminListViewModel
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我将viewmodel传递给视图
return View(new SiteAdminListViewModel(customerSites.ToPagedList(pageIndex, pageSize), customers.ToPagedList(pageIndex, pageSize)));
Run Code Online (Sandbox Code Playgroud)
这会导致错误,"此字典需要类型为'PagedList.PagedList 'PagedList.PagedList1 [CustomerOrders.WebUI.Models.SiteAdminListViewModel]' 的模型项
我理解错误是什么,但我不确定如何修改视图模型以包含PagedList,有没有其他人经历过这个或者有人能指出我正确的方向吗?
编辑////////////////
这是我的viewmodel
public class SiteAdminListViewModel
{
public IEnumerable<CustomerSite> CustomerSites { get; set; }
public IEnumerable<Customer> Customers { get; set; }
public Customer Cust { get; set; }
public CustomerSite CustSite { get; set; }
public bool HasPreviousPage { get; set; }
public bool HasNextPage { get; set; }
public int PageCount { get; set; }
public int PageNumber { get; set; …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc pagedlist asp.net-mvc-3 asp.net-mvc-viewmodel