gpt4 book ai didi

c# - 在 C# 函数中生成 Linq 查询

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:18 25 4
gpt4 key购买 nike

我在 C# 中使用 Linq。我已经这样定义了自己的函数

public static void AutoSuggest(TextBox t, string columnName, string tableName)
{

}
  • t 是文本框的引用
  • ColumnName 是特定列的名称
  • Tablename是具体表的名称

在这个用户定义的函数中,使用参数,我想从数据库的指定表中获取指定列的数据。

那么,我应该如何在 Linq 中生成此查询?

最佳答案

如果你想使用 LINQ,你最好谈论一个源和选择器;一些 IQueryable<T>和类似 Expression<Func<T,string>> 的东西.如果你想使用列/表名称,首先它们必须被列入白名单(永远不要接受来自网络请求的名称),但代码很简单:

var values = dataContext.ExecuteQuery<string>("select distinct [" + columnName
+ "] from [" + tableName +"]").ToList();

这是一种非常幼稚的方法,但它显示了基本用法;那么您将像往常一样进行数据绑定(bind)。但是,我更倾向于调用代码来做,例如:

var values = dataContext.SomeTable.Select(x => x.SomeProperty)
.Distinct().ToList();

这样可以避免注入(inject)等风险

关于c# - 在 C# 函数中生成 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665673/

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