C# 无法隐式转换类型';System.Collections.Generic.List<&书信电报;匿名类型:字符串访问>&燃气轮机';至';System.Collections.Generic.IEnumerable<;字符串>';
我想返回函数中的字符串列表:C# 无法隐式转换类型';System.Collections.Generic.List<&书信电报;匿名类型:字符串访问>&燃气轮机';至';System.Collections.Generic.IEnumerable<;字符串>';,c#,asp.net-mvc,entity-framework,entity-framework-core,C#,Asp.net Mvc,Entity Framework,Entity Framework Core,我想返回函数中的字符串列表: private async Task<IEnumerable<string>> GetAccessLevels(Guid roleId) { return await AccessLevels.Where(x => x.RoleId == roleId).Select(x=>new {x.Access }).ToListAsync(); } 如何解决此问题?只需更改以下内容: Select(x => new { x
private async Task<IEnumerable<string>> GetAccessLevels(Guid roleId)
{
return await AccessLevels.Where(x => x.RoleId == roleId).Select(x=>new {x.Access }).ToListAsync();
}
如何解决此问题?只需更改以下内容:
Select(x => new { x.Access })
为此:
Select(x => x.Access)
原因是,new
使您的查询返回的是IEnumerable
,而您需要的是IEnumerable
的Strings
,只需更改以下内容:
Select(x => new { x.Access })
为此:
Select(x => x.Access)
原因是,
new
使您的查询返回的是的IEnumerable
,而您需要的是IEnumerable
的字符串
,我认为您只需要执行以下操作:
private async Task<IEnumerable<string>> GetAccessLevels(Guid roleId)
{
return await AccessLevels.Where(x => x.RoleId == roleId).Select(x=> x.Access).ToListAsync();
}
专用异步任务GetAccessLevel(Guid roleId)
{
return await AccessLevels.Where(x=>x.RoleId==RoleId).Select(x=>x.Access.ToListAsync();
}
无需在选择中创建匿名对象 我想你只需要做以下事情:
private async Task<IEnumerable<string>> GetAccessLevels(Guid roleId)
{
return await AccessLevels.Where(x => x.RoleId == roleId).Select(x=> x.Access).ToListAsync();
}
专用异步任务GetAccessLevel(Guid roleId)
{
return await AccessLevels.Where(x=>x.RoleId==RoleId).Select(x=>x.Access.ToListAsync();
}
无需在选择中创建匿名对象