gpt4 book ai didi

c# - 如何一点一点地建立一个 Linq to Sql where 子句?

转载 作者:可可西里 更新时间:2023-11-01 08:36:18 27 4
gpt4 key购买 nike

正在向我传递参数类中的一组查询字符串参数,用于查询图像数据库。每次调用时,一些参数可能为空。所以在 sql 中我会像这样构建查询

if (parameters.Value1 != null)
{
sql.Append("sql_where_clause");
}

if (parameters.Value2 != null)
{
sql.Append("sql_where_clause");
}

我如何使用 Linq 做同样的事情?

最佳答案

动态构建 where-clauses 的最佳方法是使用精彩的 Albahari PredicateBuilder .

您可以使用它来构建包含 OR 以及 AND 的 where-clause 表达式。最初打算对此提供语言集成支持,但 didn't quite make它进入 C# 3。

例如:

var whereClause = PredicateBuilder.False<Customer>();

if (parameters.Value1 != null)
{
whereClause = whereClause.Or(customer => customer.City == parameters.Value1);
}

var query = db.Customers.Where(whereClause);

关于c# - 如何一点一点地建立一个 Linq to Sql where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/898286/

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