Linq selectmany问题

时间:2017-07-17 10:29:30

标签: c# linq lambda where

我对这个选择有点麻烦

var pAssets = sPallets.SelectMany(p => 
       AsyncHelper.RunSync(() => assetRepository.GetByPalletAsync(p.Id))).ToArray();

我必须添加像pAsset.isEnabled == true这样的条件。

所以我试过

var pAssets = sPallets.SelectMany(p => 
    AsyncHelper.RunSync(() => _assetRepository.GetByPalletAsync(p.Id)))
    .where(p => isEnabled==true).ToArray();

以及

var pAssets = sPallets.SelectMany(p => 
    AsyncHelper.RunSync(() => _assetRepository.GetByPalletAsync(p.Id)))
   .where(p => p.isEnabled==true).ToArray();

但是我收到以下错误:

  

pAssets不包含定义且未找到扩展方法

我的pAsset类是:

public class Pallet : Entity<string>
{
    public string PalletNumber { get; private set; }
    public string PalletStatusName { get; private set; }
    public DateTimeOffset? CloseDate { get; private set; }
    public string Location { get; set; }
    public bool isEnabled { get; set; }
}

1 个答案:

答案 0 :(得分:0)

 sPallets.Where(x=>x.isEnabled == true).SelectMany()

您需要使用上述代码。