所以我在这里没有看到真正回答这个问题的问题。这是一个关于 linq 的新手问题,但我想知道是否可以将以下 sql 查询(使用 C# 构建)转换为 linq 查询:
public void DoSomeQuery(bool whereCriteria1, bool whereCriteria2)
{
string sqlQuery = "SELECT p.*";
string fromClause = " FROM person p";
string whereClause = " WHERE ";
if (whereCriteria1)
{
fromClause += ", address a";
whereClause += " p.addressid = a.addressid and a.state = 'PA' and a.zip = '16127' "
}
if (whereCriteria2)
{
fromClause += ", color c";
whereClause += " p.favoritecolorid = c.colorid and c.name = 'blue'"
}
// arbitrarily many more criteria if blocks could be here
sqlQuery += fromClause + whereClause;
// do stuff to run the query
}
那有意义吗?我有一堆布尔变量,它们让我知道要添加哪个 where 子句标准。我想在 linq 中这样做,因为嗯......这很丑陋。