无法将类型 'System.Collections.Generic.List<AnonymousType#1>' 隐式转换为 'System.Linq.IQueryable<MH_CRUD_Model.Member>'
Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Linq.IQueryable<MH_CRUD_Model.Member>'
我正在尝试通过将名字和姓氏合并为姓名来显示会员的所有数据。
功能成功。但是当我尝试像这样编写 select 函数时它开始给我错误:
[HttpGet]
[Route("api/Members")]
public IQueryable<Member> GetMembers()
{
var member = db.Members.Select(m=>
new{
Name = m.LastName +" "+ m.LastName,
m.Title,
m.ProjectId
});
return member.ToList();
}
任何帮助
您正在 select 语句中创建 anonymous
类型,但未指定任何类型。同时,你的函数 return 类型是 IQueryable<Member>
并且在你的函数结束时你是 returning anonymous
object
类型的列表。您需要匹配函数 return 类型和 return 数据。这是我的解决方案
首先为 return 数据创建一个模型 class named MemberReturn
你可以使用 name 作为你的选择
class MemberReturn
{
public string Name { get; set; }
public string Title { get; set; }
public string ProjectId { get; set; }
}
然后 select linq 查询中的数据作为 MemberReturn
类型并将函数的 return 类型更改为 List<MemberReturn>
[HttpGet]
[Route("api/Members")]
public List<MemberReturn> GetMembers()
{
var member = db.Members.Select(m=>
new MemberReturn {
Name = m.FirstName + " " + m.LastName,
Title = m.Title,
ProjectId = m.ProjectId
});
return member.ToList();
}
我正在尝试通过将名字和姓氏合并为姓名来显示会员的所有数据。 功能成功。但是当我尝试像这样编写 select 函数时它开始给我错误:
[HttpGet]
[Route("api/Members")]
public IQueryable<Member> GetMembers()
{
var member = db.Members.Select(m=>
new{
Name = m.LastName +" "+ m.LastName,
m.Title,
m.ProjectId
});
return member.ToList();
}
任何帮助
您正在 select 语句中创建 anonymous
类型,但未指定任何类型。同时,你的函数 return 类型是 IQueryable<Member>
并且在你的函数结束时你是 returning anonymous
object
类型的列表。您需要匹配函数 return 类型和 return 数据。这是我的解决方案
首先为 return 数据创建一个模型 class named MemberReturn
你可以使用 name 作为你的选择
class MemberReturn
{
public string Name { get; set; }
public string Title { get; set; }
public string ProjectId { get; set; }
}
然后 select linq 查询中的数据作为 MemberReturn
类型并将函数的 return 类型更改为 List<MemberReturn>
[HttpGet]
[Route("api/Members")]
public List<MemberReturn> GetMembers()
{
var member = db.Members.Select(m=>
new MemberReturn {
Name = m.FirstName + " " + m.LastName,
Title = m.Title,
ProjectId = m.ProjectId
});
return member.ToList();
}