gpt4 book ai didi

c# - Linq 如何计算行数?

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

我正在通过 LINQPAD 探索一个非常困惑的 SQL 数据库,我想获得所有表的列表,其中至少有一列是字符串类型。此外,我想计算上述每一列的不同值的数量。

我曾尝试将某些东西混在一起,但我的 LINQ 生锈了,无论如何我主要将它用于 LINQ to Objects...

foreach(var table in Mapping.GetTables())
{
(
from dm in table.RowType.DataMembers
where dm.Type == typeof(string)
select new { dm.Name , dm.DbType , dm.Type , dm.MappedName, dm.IsPrimaryKey }
)
}

最佳答案

好吧,我认为你在正确的轨道上……以下似乎有效(尽管在我正在测试的数据库上速度很慢):

from table in Mapping.GetTables()
from member in table.RowType.DataMembers
where member.Type == typeof(string)
let count = ExecuteQuery<int>(String.Format(
"SELECT COUNT(DISTINCT {0}) FROM {1}",
member.Name,
table.TableName)).FirstOrDefault()
select new { table.TableName, member.Name, count }

关于c# - Linq 如何计算行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28558137/

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