C# 无法将lambda表达式转换为类型“;字符串”;因为它不是委托类型?

C# 无法将lambda表达式转换为类型“;字符串”;因为它不是委托类型?,c#,lambda,asp.net-mvc-5,C#,Lambda,Asp.net Mvc 5,我不明白怎么做。我是ASP.NET MVC新手您的问题在于这一行: var viewModel = new CoachIndexData(); viewModel.Coaches = db.Coaches .Include(i => i.Courses.Select(c => c.Department)) .OrderBy(i => i.LastName); 如中所述,Include方法需要字符串

我不明白怎么做。我是ASP.NET MVC新手

您的问题在于这一行:

       var viewModel = new CoachIndexData();

        viewModel.Coaches = db.Coaches
            .Include(i => i.Courses.Select(c => c.Department))
            .OrderBy(i => i.LastName);
如中所述,
Include
方法需要字符串参数,而不是lambda表达式

您需要为所需信息提供
Include
“导航”路径(即如何在上下文中设置导航属性)。在你的情况下,我相信这将是:

.Include(i => i.Courses.Select(c => c.Department))

希望能有所帮助。

您的问题在于:

       var viewModel = new CoachIndexData();

        viewModel.Coaches = db.Coaches
            .Include(i => i.Courses.Select(c => c.Department))
            .OrderBy(i => i.LastName);
如中所述,
Include
方法需要字符串参数,而不是lambda表达式

您需要为所需信息提供
Include
“导航”路径(即如何在上下文中设置导航属性)。在你的情况下,我相信这将是:

.Include(i => i.Courses.Select(c => c.Department))
希望有帮助。

摘自

这对我有用

实体框架4.1的Include()方法具有扩展方法,并且还接受lambda表达式。所以

.Include("Department")
是完全有效的,您只需使用以下命令:

context.CustomerSites.Include(c => c.Customer);
取自

这对我有用

实体框架4.1的Include()方法具有扩展方法,并且还接受lambda表达式。所以

.Include("Department")
是完全有效的,您只需使用以下命令:

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

我有同样的问题,我解决了以下问题

using System.Data.Entity;
代码在这里

using System.Linq.Dynamic;
using System.Linq;
公共IPagedList获取(int?page,int?pageSize,string sort=“Id”,string sortdir=“DESC”,string searchKey=”“) { int pageIndex=page.HasValue?将.ToInt32转换为(第页):1; int pageSizeValue=pageSize.HasValue?将.ToInt32(pageSize)转换为10; 返回dbSet.Where(x=>(x.Customer.CustomerName.ToUpper().Contains(searchKey.ToUpper())| | searchKey==“”) .OrderBy(排序+“”+sortdir) .ToPagedList(页面索引、页面大小值); }
其中,Inv_AMC和Customer是db对象,并相互引用。

我有同样的问题,我用以下方法解决了

using System.Data.Entity;
代码在这里

using System.Linq.Dynamic;
using System.Linq;
公共IPagedList获取(int?page,int?pageSize,string sort=“Id”,string sortdir=“DESC”,string searchKey=”“) { int pageIndex=page.HasValue?将.ToInt32转换为(第页):1; int pageSizeValue=pageSize.HasValue?将.ToInt32(pageSize)转换为10; 返回dbSet.Where(x=>(x.Customer.CustomerName.ToUpper().Contains(searchKey.ToUpper())| | searchKey==“”) .OrderBy(排序+“”+sortdir) .ToPagedList(页面索引、页面大小值); }
其中,Inv_AMC和Customer是db对象并相互引用。

能否显示视图模型的代码?能否显示视图模型的代码?不确定2014年5月的情况,但使用字符串是“老办法”。OP的代码是正确的。最好使用lambda中的强类型。他只是缺少一个using语句System.Data.Entity。不确定2014年5月的情况如何,但使用字符串是“老办法”。OP的代码是正确的。最好使用lambda中的强类型。他只是缺少一个using语句System.Data.Entity。我很抱歉@vard,我的错误,我已经更正了答案。我很抱歉@vard,我的错误,我已经更正了答案。