加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 不能将lambda表达式转换为’string’类型,因为

发布时间:2020-12-15 20:08:45 所属栏目:asp.Net 来源:网络整理
导读:在我的控制器中,我试图使用包含EF4来选择相关的实体,但是lambda表达式会抛出以下错误, 我有实体类中定义的相关实体 public class CustomerSite{ public int CustomerSiteId { get; set; } public int CustomerId { get; set; } public virtual Customer Cust
在我的控制器中,我试图使用包含EF4来选择相关的实体,但是lambda表达式会抛出以下错误,

我有实体类中定义的相关实体

public class CustomerSite
{
    public int CustomerSiteId { get; set; }
    public int CustomerId { get; set; }
    public virtual Customer Customer { get; set; }
}

然后在我的控制器我有

var sites = context.CustomerSites.Include(c => c.Customer);

 public ViewResult List()
 {
    var sites = context.CustomerSites.Include(c => c.Customer);
    return View(sites.ToList());
 }

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

解决方法

Include方法需要一个字符串,而不是一个lambda:
public ViewResult List()
{
    var sites = context.CustomerSites.Include("Customer");
    return View(sites.ToList());
}

当然,你可以编写一个custom extension method,它可以使用lambda表达式,并使您的代码独立于一些魔术字符串,并重构更友善.

但是无论你做什么请P请不要将EF自动生成的对象传递给你的意见.使用视图模型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读