C# - 从SQL表

时间:2015-08-07 15:20:39

标签: c# sql

我有一个包含大量数据的数据库表。我想从中提取一个属性。每个条目的此属性通常相同。它有三种变体。是否可以在列表中获取这三个变体而无需遍历整个数据库。

例如,我不想为了提高效率而执行以下操作:

foreach (var x in table) 
{
    list.Add(x.attribute);
{

我只想要独特的属性并忽略所有冗余属性。我想如果我只是做了一个if(notSeen()),它仍会遍历表格并且不会节省太多工作。

是否有任何工具可以帮助完成此类流程?

1 个答案:

答案 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());

希望得到这个帮助。