[C#]从 Linq 查询结果构建原始 SQL 字符串?

标签: Linq SQLServer C#
发布时间: 2017/2/27 6:44:41
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我需要从一个 SQL Server 表中进行选择并成一个 SQL 字符串串联的结果,所以我最终会与 var sqlString = "Select blah from myTable where blah blah order by blah" :

enter image description here

这里是我的 LINQ。我想我需要他们和 concatanate 的顺序列选择他们为 1 的字符串︰

  var query = (from a in _Context.tbArticleTypeAssets
                      where a.ArticleType == ArticleType
                      select new {sqlQuery = a.ColSelection + "" + a.FromTable + "" + a.whereclause + "" + a.orderBY});

         string queryResult = query.ToString();

结果是,我不想要一个 Linq 输出。我只是想,字符串的值。有没有办法实现这一目标呢?

解决方法 1:

linq 查询将返回一个集合,您必须使用 First()FirstOrDefault() 提供帮助的项目︰

 string queryResult = query.FirstOrDefault().sqlQuery;

最好是检查 null 值以及︰

string queryResult =  query.FirstOrDefault() != null ? query.FirstOrDefault().sqlQuery : string.Empty;
官方微信
官方QQ群
31647020