如果Parameter为null,则排除条件

art*_*_14 2 c# linq lambda entity-framework

我正在使用LINQ和Lambda在2个条件下使用此查询来获取数据。如果没有其他条件,是否可以编写此逻辑-

public List<Pallet> GetPallet(string palletID, string locationID)
{
    List<Pallet> data = new List<Pallet>();

    if (locationID != null)
        data = data.Where(x => x.PalletID == palletID && x.LocationID == locationID).ToList();
    else
        data = data.Where(x => x.PalletID == palletID).ToList();

    return data;
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*ada 5

当然是啦:

public List<Pallet> GetPallet(string palletID, string locationID)
{
    List<Pallet> data = new List<Pallet>();
    data = data.Where(x => x.PalletID == palletID && (locationID == null || x.LocationID == locationID)).ToList();

    return data;
}
Run Code Online (Sandbox Code Playgroud)