gpt4 book ai didi

linq - 将字符串作为 Linq 执行

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

有没有一种方法可以将字符串作为 Linq 来执行?我有一个 dynamci 查询,为此我必须将 Linq 表达式转换为字符串,然后附加具有一些条件查询的字符串构建器。所以整个表达式现在都在字符串中。现在如何执行这个字符串?我应该再次将此字符串转换为 Linq 吗?如何进行?

 StringBuilder sb = new StringBuilder();
if (InstId != String.Empty)
{
sb.Append("application.Id ==" + InstId);
}
if (BId != String.Empty)
{
sb.Append("&& application.BId ==" + BId);
}
if (CId != String.Empty)
{
sb.Append("&& application.CId ==" + CId);
}

String query=("from tables in context.Application .........
........join .........."+sb);

var q1=query;

现在如何执行这个q1?

最佳答案

你不需要StringBuilder为此:

var query = context.Application;

if (InstId != String.Empty)
{
query = query.Where(a => a.Id == InstId);
}
if (BId != String.Empty)
{
query = query.Where(a => a.BId == BId);
}
if (CId != String.Empty)
{
query = query.Where(a => a.CId == CId);
}

var items = query.Join(/* your join here */).ToList();

直到ToList 才会执行查询或调用其他类似的方法,因此您可以附加 Where()只要你愿意。

关于linq - 将字符串作为 Linq 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15902422/

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