我有一个包含大量数据的数据库表。我想从中提取一个属性。每个条目的此属性通常相同。它有三种变体。是否可以在列表中获取这三个变体而无需遍历整个数据库。
例如,我不想为了提高效率而执行以下操作:
foreach (var x in table)
{
list.Add(x.attribute);
{
我只想要独特的属性并忽略所有冗余属性。我想如果我只是做了一个if(notSeen()),它仍会遍历表格并且不会节省太多工作。
是否有任何工具可以帮助完成此类流程?
答案 0 :(得分:1)
假设您正在使用LINQ to SQL / Entities,请确保它可以在数据库级别上执行此操作。您可以这样做(使用DISTINCT / GroupBy语句转换为SQL的LINQ to Entities):table.Select(k=>k.attribute).Distinct();
。如果有多个分组键,您也可以使用以下语法:table.GroupBy(k=>new{k.ItemOne, k.ItemTwo}).Select(k=>k.First());
希望得到这个帮助。