实体框架自定义 SQL 查询返回泛型类型

2023-12-26

我正在尝试制作一个通用报告系统,以便我可以动态地将报告添加到我的程序中,而不是每次必须添加报告时都发布新版本的程序。
目前,我已经部分工作了;
我的自定义报告 SQL 与报告名称一起存储在表中。报表名称用于用户单击的按钮,当他们单击按钮时,我希望执行 SQL 并绑定到 gridview,因此它尽可能通用。

但这似乎就是麻烦所在。获取 SQL 并执行它很好,但将其绑定到 gridview 似乎是不可能的,我只得到一列,称为 Column,显示 1 行,值为 System.Object。

我认为问题是因为我从多个表返回数据,即

SELECT c.CertificateName, e.EntityName, 
       ce.CertificateDate, ce.CertificateExpiry, ce.CertificateNumber 
FROM FCERTSTest.dbo.CertificateEntries ce 
INNER JOIN FCERTSTest.dbo.Certificates c 
ON c.CertificateID = ce.Certificate_ID 
INNER JOIN FCERTSTest.dbo.Entities e 
ON e.EntityID = ce.Entity_ID 
WHERE FirstNotificationSent = '1'

我目前正在使用

using (DBContainer db = new DBContainer())
{
    grid.DataSource = db.Database.SqlQuery<dynamic>(SQLCommand).ToList();
}

我尝试过更换dynamic with object并遇到同样的问题... 我知道最好的解决方案是拥有一个自定义类并替换dynamic使用该自定义类,但随后我失去了它通用的好处,因为不同的报告可能不会返回相同的结果,并且我需要一个新的自定义类...


Use SqlDataAdapter and DataSet。 EF 不适用于没有特殊类型结果集的“动态查询”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架自定义 SQL 查询返回泛型类型 的相关文章

随机推荐

  • cx_Freeze 和 Python 3.3

    因此 我有一些 Python 3 3 代码 需要在 Windows 上生成 exe 我发现唯一的方法是使用 cx Freeze 但是 我什至没有比安装更进一步 这个问题完美地描述了我的问题 除了我运行Python 3 3 并且尚未得到解答
  • Github GitIgnore 错误

    我不断收到此错误 error Your local changes to the following files would be overwritten by merge gitignore 如何让它忽略主目录中的 gitignore 文
  • python 为什么以及如何截断数值数据?

    我在这里处理两个变量 但很困惑 因为当我想将它们作为 URL 参数按原样发送时 它们的值似乎正在变化 它们失去了精度 看看我用 python 解释器重现的这个场景 gt gt gt lat 0 33245794180134 gt gt gt
  • 如何获取远程存储库中提交哈希的 git 标签?

    您可以通过执行以下操作来获取指向本地存储库中特定提交的标记 git tag points at
  • iPhone 中的 XSLT 版本

    我计划在我的 iPhone 应用程序中使用 XML XSLT iPhone 目前支持哪个版本的 XSLT 我可以使用 XSLT 2 0 还是仅使用 1 0 Using libxslt在 iPhone OS 上实际上很简单 下载libxslt
  • 1 到 10 之间的不同数字

    我想生成 0 9 范围内的 10 个不同的数字 所需的输出可能如下所示 9 0 8 6 5 3 2 4 1 7 Dim arraynum 9 As Integer Dim crmd As Boolean Dim rmd as integer
  • ReactJS 清除父组件的输入

    我正在教自己使用一个超级简单的应用程序做出反应 该应用程序要求用户输入用户界面中显示的单词 如果用户输入正确 应用程序会显示另一个单词 依此类推 我已经让它几乎可以工作了 除了一件事 正确输入一个单词后 我需要清除输入元素 我在这里看到了几
  • 谜题:找出数组中重复的元素

    数组的大小为n 除了两个元素之外 数组中的所有元素在 0 n 1 范围内都是不同的 以恒定的时间复杂度 无需使用额外的临时数组即可找出重复的元素 我尝试过像这样使用 o n a 1 0 0 2 3 b 1 1 1 1 1 i 0 int r
  • 删除 AngularJS 中的查询字符串

    例如 从 URL 读取并处理查询字符串值后 http myurl com foo baa 我可以将网址更改为 http myurl com foo by using location search myQueryStringParamete
  • Powershell 使用嵌套引号调用 msbuild

    使用 Powershell 和 Psake 为 Visual Studio 解决方案创建包和部署 尝试使用 msbuild 部署数据库项目 使用 msdos Visual Studio 命令行可以正常工作 msbuild target De
  • UI-Router:我可以始终使用相同的控制器吗?

    我正在使用 UI Router 在我的应用程序中添加一些 菜 单 stateProvider state list url Focales templateUrl demo focals html controller FocalCtrl
  • python 的 sum() 和非整数值

    有没有一种简单快捷的方法将 sum 与非整数值一起使用 所以我可以这样使用它 class Foo object def init self bar self bar bar mylist Foo 3 Foo 34 Foo 63 200 re
  • 警告:左移计数 >= 类型宽度

    我对处理位非常陌生 并且在编译时遇到以下警告 7 warning left shift count gt width of type 我的7号线是这样的 unsigned long int x 1 lt lt 32 如果大小是有意义的lon
  • 使用 IEnumerable 和 IQueryable 作为 ObjectSet 类型时的差异

    据我了解 当我使用 LINQ 扩展方法 带有 lambda 表达式语法 时IQueryable那是在事实实例中ObjectSet它们被转换为 LINQ to SQL 查询 我的意思是这个命令 IQueryable
  • 我们应该使用 Nexus 还是 Artifactory 来构建 Maven 存储库? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们使用 Maven 进行大型构建过程 gt 100 个模块 我们一直将外部依赖项存储在源代码管理中 并使用它来更新本地存储库 然而 我们已经准
  • 如何为初学者设置 SSH 配置文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 首先 我对 SSH 相当陌生 From 这个问题 https stackoverflow com questions 56285972 c
  • 坏元素的映射

    我正在实施k means我想创建新的质心 但映射遗漏了一个元素 然而 当K值较小 例如 15 效果会很好 基于此code http www cs berkeley edu rxin ampcamp ecnu machine learning
  • 返回 n 个布尔值的所有组合的函数?

    我正在尝试实现一个函数 该函数接受数字 n 并返回布尔值列表的列表 其中包含 n 布尔值的所有可能组合 例如的输出 make bools 3 应该看起来像 false false false false false true false t
  • 生成更新脚本 MySQl 表

    我的 MySql 表有 250 个字段 我需要进行更新 手动编写整个更新可能需要几个小时 In SQL服务器 我可以选择 生成更新脚本 我正在寻找类似的选项 我尝试了 Phpmyadmin 和 Navicat 但没有找到这样的选项 Use
  • 实体框架自定义 SQL 查询返回泛型类型

    我正在尝试制作一个通用报告系统 以便我可以动态地将报告添加到我的程序中 而不是每次必须添加报告时都发布新版本的程序 目前 我已经部分工作了 我的自定义报告 SQL 与报告名称一起存储在表中 报表名称用于用户单击的按钮 当他们单击按钮时 我希