我正在编写一个方法,该方法应该返回匹配电子邮件字段的List中的所有记录。但是我当前的实现只返回第一个元素,因为我正在使用ToList();
我使用 intellisense 过滤了其他可用的方法并尝试使用return orderList.Where(c => c.Email == email).ToList();
public async Task<OrderModel> GetByEmailAsync(string email)
{
if (orderList == null)
await LoadDbAsync();
return orderList.Where(c => c.Email == email).FirstOrDefault();
}
但是我收到一条错误,指出它无法转换,因为结果不是List。我从中理解,结果不是类型列表,但我怎样才能返回列表。
错误30无法将类型'System.Collections.Generic.List'隐式转换为'MongoDBApp.Models.OrderModel'
任何人都知道如何返回完整的结果集?
这是目前只返回与电子邮件密钥匹配的第一个或默认元素的方法:
private static List<OrderModel> orderList = new List<OrderModel>();
orderList是类型,OrderModel:
SRC="http://website.com/embed-bz874sdg1280ghsse750hse-828x178.html
答案 0 :(得分:1)
将方法更改为此方法
public async Task<List<OrderModel>> GetByEmailAsync(string email)
{
if (orderList == null)
await LoadDbAsync();
return orderList
.Where(c => c.Email == email)
.ToList();
}
根据您当前的实施async Task<OrderModel> GetByEmailAsync(string email)
,该方法需要返回一个OrderModel
,因此您无法使用List<OrderModel>
返回Where(...).ToList()
。