gpt4 book ai didi

sql - 返回通用类型的 Entity Framework 自定义 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 22:14:16 25 4
gpt4 key购买 nike

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

这似乎是麻烦的来源。获取 SQL 并执行它很好,但将它绑定(bind)到 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();
}

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

最佳答案

使用 SqlDataAdapterDataSet。 EF 不适用于您没有特殊结果集类型的“动态查询”。

关于sql - 返回通用类型的 Entity Framework 自定义 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743290/

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