小编Lia*_*am 的帖子

无法将lambda表达式转换为类型'string',因为它不是委托类型

在我的控制器中我试图使用包含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)

任何人都可以指出我正确的方向我在这里做错了吗?

lambda repository entity-framework-4 asp.net-mvc-3

15
推荐指数
3
解决办法
2万
查看次数

将PagedList与viewmodel MVC 3一起使用

我试图用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

5
推荐指数
1
解决办法
2万
查看次数