LINQ - 用于返回所有记录的运算符

时间:2014-08-06 02:04:45

标签: linq

当我想要返回所有记录时,无论我有多条记录还是多条记录,都需要使用哪种运算符。

以下是示例:

        public static async Task<SampleDataItem> GetFavouriteItemAsync(string uniqueId)
    {
        List<string> lst = new List<string>() { "11","12"};



        await _sampleDataSource.GetSampleDataAsync();
        // Simple linear search is acceptable for small data sets
       var matches = _sampleDataSource.Groups.SelectMany(group => group.Items).Where(item=>lst.Contains(item.UniqueId));



        if (matches.Count() !=0) return (SampleDataItem)matches.AsEnumerable();
        return null;

    }

matches.First()仅返回第一条记录;但是我想要比赛中的所有记录。

1 个答案:

答案 0 :(得分:0)

public static async Task<List<SampleDataItem>> GetFavouriteItemAsync(string uniqueId)
{
    List<string> lst = new List<string>() { "11","12"};

    await _sampleDataSource.GetSampleDataAsync();
    // Simple linear search is acceptable for small data sets
    var matches = _sampleDataSource.Groups.SelectMany(group => group.Items).Where(item=>lst.Contains(item.UniqueId));


    if (matches.Any()) 
    {
      var ReturnTask = Task.Factory.StartNew(() => matches .ToList());  
      return await ReturnTask;  
    }

    return null;

}