SqlKata 查询返回 2 组列

SqlKata query returns 2 sets of columns

提问人:Greg 提问时间:10/10/2023 最后编辑:jarlhGreg 更新时间:10/10/2023 访问量:32

问:

使用此查询...

Dim compiler = New SqlServerCompiler()
Dim db = New QueryFactory(conn, compiler)

Dim  objFind = db.Query(table) _
        .WhereContains(field1, term1) _
        .OrderByDesc("Start_Date") _
        .Select("sid", "Start_Date", "Subject", "Comment", "isDeleted") _
         .Get()

返回相同的列两次,但将正确的行数返回到我的数据网格。 通过单击窗口窗体上的按钮来调用,该窗体仅包含按钮和数据网格。 数据是正确的,只是双列。

在 VS2022 上,最新的 SqlKata(net2 标准)

思潮?

我也试过了

Dim objAll = db.Query(table).Get()

它还返回双列

使用 SQL Express

sql-server vb.net sqlkata

评论

0赞 Panagiotis Kanavos 10/10/2023
UI 代码显示列两次的可能性要大得多。也许(未指定的)网格已经包含数据或列?至少检查实际发送到数据库的查询是什么。在调试器中检查实际内容,或者通过循环访问结果并将每个项目写入控制台来检查。请不要使用类型前缀。自 1990 年代以来,匈牙利符号被认为是不良做法。在 .NET 中,一切都是一个对象,除非查询返回单个项目,否则你有一个内容列表。使用有意义的名称,例如 或objFindbookssubjects
0赞 Panagiotis Kanavos 10/10/2023
您可以在 QueryFactory 中设置日志记录以查看生成的查询。
0赞 Greg 10/11/2023
此查询工作正常。在将 DataGridView 加载到测试应用程序中的数据源之前,我能够看到每条记录和正确的 # 列。感谢您的回复。这是我在 StackOverFlow 上发表的第一篇文章。此外,您需要与 JetBrains 核对匈牙利符号,Resharper 仍然会重新使用它。感谢您的反馈,非常有帮助
0赞 Panagiotis Kanavos 10/11/2023
不,Jetbrains 绝对不推荐它,至少在 C# 中不推荐它。但是,您使用的规则集可能基于用于 VBScript 的规则。无论供应商如何,VB 的工具都非常薄弱。开发人员根本不使用 VB。这些工具是由开发人员制作的,他们中的大多数人最后一次使用 VB 是在 2000 年代初。甚至Microsoft在尝试为 C# 和 VB 提供同等支持的 1-2 年后也放弃了 VB.NET。

答: 暂无答案