gpt4 book ai didi

linq - Linq where 子句中的 if 语句

转载 作者:行者123 更新时间:2023-12-04 02:46:58 25 4
gpt4 key购买 nike

今天有点挣扎。

我有以下方法返回产品列表..可爱。

public static List<tblWeight> GetProductInfo(string memberid, string locationid, string basematerial, string source)
{
MyEntities getproductinfo = new MyEntities ();

return (from p in getproductinfo .tblWeights
where p.MemberId == memberid &&
p.LocationId == locationid &&
p.BaseMaterialName == basematerial &&
p.WeightStatus == source
select p)
.ToList();
  • 其中基础 Material 和来源是下拉列表。

  • 我如何将一些 IF 语句合并到 where 子句中?

    例如,如果未触及基础 Material ddl 但选择了源 ddl 中的一项,则结果将返回与基础 Material 关联但由所选源过滤的所有内容。

    这还有道理吗?!

    我什至不确定我是否采取了正确的方法 - 请原谅我的无知。

    最佳答案

    您可以根据需要将它们添加到您的查询中:

    var r =  (from p in getproductinfo .tblWeights 
    where p.MemberId == memberid &&
    p.LocationId == locationid &&
    p.WeightStatus == source
    select p)

    if (!String.IsNullOrEmpty(basematrial))
    r = r.Where(p => p.BaseMaterialName == basematerial);

    return r.ToList();

    关于linq - Linq where 子句中的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291235/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com