gpt4 book ai didi

asp.net-mvc-3 - 无法将 lambda 表达式转换为类型 'string',因为它不是委托(delegate)类型

转载 作者:行者123 更新时间:2023-12-03 15:04:13 24 4
gpt4 key购买 nike

在我的 Controller 中,我尝试使用包含 EF4 来选择相关实体,但 lambda 表达式引发以下错误,

我在 Entity 类中定义了相关实体,例如

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

然后在我的 Controller 中我有
 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 表达式一起使用,并使您的代码独立于一些魔术字符串并且重构更友好。

但是无论您做什么,请不要将 EF 自动生成的对象传递给您的 View 。 使用 View 模型 .

关于asp.net-mvc-3 - 无法将 lambda 表达式转换为类型 'string',因为它不是委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6696348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com