可查询为List <T>

时间:2019-11-13 15:40:44

标签: c#

我有一个工作服务,用于从数据库中检索书籍,我目前正在为此进行测试。 服务看起来像这样:

for keys in outerDict.keys():
    if outerDict[keys] has a nested dict:
        for keys in nestedDict.keys():
            nestedDict[keys] = doStuffToString(nestedDict[keys])
    else:
        outerDict[keys] = doStuffToString(outerDict[keys])

该代码在应用程序运行时效果很好。

在测试期间,我可以与调试器一起检查结果变量是否具有所需的值。但是 list 变量具有 null 的含义。 这是我的起订量的定义:

public async Task<List<Book>> GetBooks()
{
   ........
   ........
   IQueryable results = repository.Query();
   var list = await Task.Factory.StartNew(() => results as List<Book>);
   return list
}

我需要做一个测试,该测试将返回变量 list 中的值。 更改 GetBooks()方法无效

1 个答案:

答案 0 :(得分:0)

您正在尝试执行无效的转换,应该实现

public async Task<Object> GetBooks()
{
   //........
   return await repository.Query().ToListAsync()
}

PS

确保repository.Query()返回IQueryable<Book>而不只是IQueryable