【发布时间】:2017-11-29 17:40:20
【问题描述】:
我想在 DataTable 中汇总 SQL 表中的数据,以便在 DataGridView 中显示。我想使用 LINQ 查询表。
此 SQL 查询生成摘要:
;WITH CTE AS (
SELECT * FROM vw_Trades WHERE NOT (dtExpDate < GETDATE())
)
SELECT szSymbol, dtFwdDate, sum(fQuantity)
FROM CTE GROUP BY szSymbol, dtFwdDate
HAVING SUM(fQuantity) <> 0
ORDER BY szSymbol, dtFwdDate
GO
我尝试使用 System.Linq.Dynamic 包,但它似乎已过时。尝试了 System.Linq.Dynamic.Core 包,但找不到任何文档。问题是我在编译时不知道 SELECT 语句中将包含哪些字段,这使得无法使用类型化的 LINQ 查询。
我可以使用动态 SQL,但想使用 LINQ。有没有一个像样的库,还是我最好坚持使用 SQL?
【问题讨论】:
-
我在您的查询中没有看到任何“动态”的内容 - 您认为哪一部分是“动态的”?
-
如果你需要使用
DataTables,你最好坚持使用ADO.NET和SQL。 -
抱歉,澄清一下,根据用户输入,szSymbol、dtFwdDate 和 SUM(fQuantity) 列可能会有所不同。所以他们可能只需要 szSymbol 和 SUM(fQuantity) 或不同的字段。