我试图通过将名字和姓氏合并到名称来显示会员的所有数据。 功能成功。但是当我尝试编写像这样的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();
}
任何帮助
答案 0 :(得分:1)
您正在select语句中创建anonymous
类型而不指定任何类型。同时,您的函数返回类型为IQueryable<Member>
,在函数末尾,您将返回anonymous
object
类型的列表。您需要匹配函数返回类型和返回数据。这是我的解决方案
首先为名为MemberReturn
的返回数据创建一个模型类,您可以使用名称作为选择
class MemberReturn
{
public string Name { get; set; }
public string Title { get; set; }
public string ProjectId { get; set; }
}
然后在linq查询中选择数据为MemberReturn
类型,并将函数的返回类型更改为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();
}