lxysoid 2025-05-11 19:55 采纳率: 0%
浏览 4

Linq 字符串转换为条件

我现在表的数据,某个字段为一段条件输入
例如
1 {0} like '%毛皮%'
2 {0} like '%皮革%'

我再后端已经查出所有数据了,{0}为我要替换的内容,如 “ABC” 替换掉 {0}
希望在linq里形成 “ABC” like '%毛皮%' 的条件来执行where

这个我应当如何转换呢

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-05-11 19:55
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    Linq 字符串转换为条件

    你想使用 Linq 将字符串转换为条件语句,例如将 {0} 替换为实际的值,例如 "ABC"。

    可以使用 string.Format 方法或 Regex 来实现这个功能。

    使用 string.Format 方法:

    string condition = string.Format("{0} like '%{1}%'",
        "字段名", "毛皮");
    

    使用 Regex 方法:

    string condition = Regex.Replace("{0} like '%{1}%'",
        "{0}", "字段名", RegexOptions.IgnoreCase);
    

    在上面的代码中,{0}{1} 是占位符,需要被替换为实际的值。

    如果你已经在后端查出所有数据了,可以使用 Linq 将结果转换为条件语句:

    var results = dbContext.Table.Where(x => x.Field.Contains("毛皮"));
    

    在上面的代码中,Table 是你的数据表,Field 是你要查找的字段,Contains 方法将查找字段中的所有包含 "毛皮" 的记录。

    如果你需要将结果转换为条件语句,可以使用 string.Join 方法:

    string condition = string.Join(" or ", results.Select(x => x.Field + " like '%毛皮%'"));
    

    在上面的代码中,results 是查找结果,Select 方法将结果转换为条件语句,string.Join 方法将条件语句连接成一个字符串。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日