C# 如何连接ListQueryable表并返回toList();
这是我的代码,我尝试连接两个C# 如何连接ListQueryable表并返回toList();,c#,.net,linq,asp.net-core,C#,.net,Linq,Asp.net Core,这是我的代码,我尝试连接两个ListQueryable表并返回List()但我只能返回到FirstorDefault() 公共异步任务报告(TestModel) { var linkType=await _LinkRepo.ListQueryable(log=>(string.IsNullOrEmpty(model.Name)| | log.Code.Contains(model.Name))).toListSync(); var click=wait _ClickRepo.ListQuerya
ListQueryable
表并返回List()代码>但我只能返回到FirstorDefault()代码>
公共异步任务报告(TestModel)
{
var linkType=await _LinkRepo.ListQueryable(log=>(string.IsNullOrEmpty(model.Name)| | log.Code.Contains(model.Name))).toListSync();
var click=wait _ClickRepo.ListQueryable(log=>(string.IsNullOrEmpty(model.Code)| | log.Code.Contains(model.Code))).toListSync();
返回(来自linkType中的t)
点击t.Id等于d.linkRepoId加入sr
来自sr.DefaultIfEmpty()中的x
其中t!=null
选择新的测试模型
{
代码=x。代码,
Name=x.Name,
}).FirstOrDefault();
}
问题是代码无法返回ToList()
,因为它将返回错误
“无法隐式转换类型”
您需要更改代码以返回列表,将方法的返回类型更改为Task
,并将FirstOrDefault
更改为ToList
,如下所示:
public async Task<List<TestModel>> Report(TestModel model)
{
var linkType = await _LinkRepo.ListQueryable(log => (string.IsNullOrEmpty(model.Name) || log.Code.Contains(model.Name))).ToListAsync();
var click = await _ClickRepo.ListQueryable(log => (string.IsNullOrEmpty(model.Code) || log.Code.Contains(model.Code))).ToListAsync();
return (from t in linkType
join d in click on t.Id equals d.linkRepoId into sr
from x in sr.DefaultIfEmpty()
where t != null
select new TestModel
{
Code = x.Code,
Name = x.Name,
}).ToList();
}
公共异步任务报告(TestModel)
{
var linkType=await _LinkRepo.ListQueryable(log=>(string.IsNullOrEmpty(model.Name)| | log.Code.Contains(model.Name))).toListSync();
var click=wait _ClickRepo.ListQueryable(log=>(string.IsNullOrEmpty(model.Code)| | log.Code.Contains(model.Code))).toListSync();
返回(来自linkType中的t)
点击t.Id等于d.linkRepoId加入sr
来自sr.DefaultIfEmpty()中的x
其中t!=null
选择新的测试模型
{
代码=x。代码,
Name=x.Name,
}).ToList();
}
您的方法返回类型是TestModel
,因此它无法接受ToList()
将您的方法更改为List
,如下所示:
public async Task<List<TestModel>> Report(TestModel model)
{
//code here
return (
//code here
).ToList();
}
公共异步任务报告(TestModel)
{
//代码在这里
返回(
//代码在这里
).ToList();
}
在我发布答案后看到了你的答案。当你发布答案时,我正在写我的答案,否则我不会看到written@PashupatiKhanal不用担心,这里经常发生这种情况:)
public async Task<List<TestModel>> Report(TestModel model)
{
//code here
return (
//code here
).ToList();
}