C# Linq如何计算行数?
我正在通过LINQPAD探索一个非常混乱的SQL数据库,我想得到至少有一列是string类型的所有表的列表。 此外,我想计算上述每列的不同值的计数 我试着把一些东西混在一起,但我的LINQ生锈了,不管怎样,我主要用它来处理LINQ对象C# Linq如何计算行数?,c#,linq,C#,Linq,我正在通过LINQPAD探索一个非常混乱的SQL数据库,我想得到至少有一列是string类型的所有表的列表。 此外,我想计算上述每列的不同值的计数 我试着把一些东西混在一起,但我的LINQ生锈了,不管怎样,我主要用它来处理LINQ对象 foreach(var table in Mapping.GetTables()) { ( from dm in table.RowType.DataMembers where dm.Type == typeof(string) select new { dm.
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 }
)
}
嗯,我认为你走得很对。。。以下内容似乎有效(尽管在我测试的数据库上速度非常慢):
来自Mapping.GetTables()中的表
来自table.RowType.DataMembers中的成员
其中member.Type==typeof(字符串)
let count=ExecuteQuery(String.Format(
“从{1}中选择计数(不同的{0}”),
成员姓名:,
table.TableName().FirstOrDefault()
选择新{table.TableName,member.Name,count}
compute the count of distinct value for each column是什么意思?@dav\u我想您有两个字符串列,每列100行。第一列只有两个可能的OUTCOM“是”或“否”-因此有两个不同的值。第二列包含随机文本-因此将有100个不同的值。看起来不错!我的同事现在轰炸了服务器,要得到反馈需要一段时间。。。我有点惊讶,似乎没有干净的方法在linq中进行计数……更重要的是,LINQtoSQL没有(据我所知)能够从动态选择的表中选择数据。LINQ本身并不是罪魁祸首。好吧,这令人失望——我正在对数百个表进行探索性的工作,动态选择会很好。。
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 }