【问题标题】:Cannot await 'System.collections.Generic.List<AnonymousType#1>无法等待'System.collections.Generic.List<AnonymousType#1>
【发布时间】:2014-04-29 15:31:28
【问题描述】:

我在一个 WEB API 项目中使用 Entity Framework 6.1,我只是试图将一个集合传回,但我收到了上述主题行错误。

此外,智能感知中没有 ToListAsync() 方法可用。

设计时编译错误立即出现在等待语句之上。

如何更正上述主题错误并同时使用 ToListAsync 方法?

这是我的代码 sn-ps:

public async Task<IEnumerable<HH_FuelTkt_Output>> GetFilteredFuelTicketsAsync(HH_FuelTkt_Input value)

List<HH_FuelTkt_Output> tkts = await DbContext.HH_FuelTkt.Select(s =>
                            new
                            {
                                s.Customer_Name,
                                s.FuelTkt_ID,
                                s.Image_ID,
                                s.Ticket_No,
                                s.Trans_Timestamp,
                                s.Vehicle_No
                            }
                            ).ToList();

【问题讨论】:

  • 框架是否设置为4.5?
  • 您可能应该对 async/await 进行足够的研究,以便您至少可以理解为什么等待列表没有意义。
  • 只返回一个任务而不等待(因为你没有使用任何 Async 函数)?你不会让 ToList() 异步,但你会让你的方法如此。
  • ToListAsync()System.Data.Entity.QueryableExtensions 中定义。您是否缺少using System.Data.Entity; 指令?但即使你添加它,它也不会编译,你的列表类型错误。
  • @usr 为什么没有意义?清单在哪里?

标签: c# entity-framework asynchronous asp.net-web-api


【解决方案1】:

ToListAsync http://msdn.microsoft.com/en-us/library/dn220262(v=vs.113).aspx

命名空间:System.Data.Entity

程序集:EntityFramework(在EntityFramework.dll中)

你有用于 System.Data.Entity 吗? ToListAsync 是一种扩展方法。

【讨论】:

  • 添加并工作。但是,当我尝试执行以下“return tkts;”时,我收到“无法将类型通用列表隐式转换为 HH_FuelTkt_Output”的设计时编译错误,这是我的输出类型。如何将匿名类型转换为我的输出类型?
  • 想通了...在“new”语句之后添加了一个类型初始化器,然后将类型初始化器内的属性分配给“s”。字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
相关资源
最近更新 更多