2013-05-15 105 views
2

假设我有标记Name一列,其含有(可能)的表重复唯一的用户名的条目。我可以写什么LINQ-to-SQL语句来唯一遍历用户名?换句话说:选择用户名独特

下面是表的一个例子:

Name Log 
User1 05/13/13 
User2 05/13/13 
User2 05/14/13 
User3 05/15/13 
User1 05/15/13 

我要选择唯一的用户名:

User1, User2, User3. 

提前感谢!

+1

您的意思是linq-to-sql?或者你要求在IEnumerable上使用linq?或者你问的SQL查询? – Matthew

+0

你的意思是你想按用户分组日志,或者你只是想要一个不同的用户名列表? –

回答

7
SELECT DISTINCT NAME FROM TABLE; 

or in LinQ;

var names = Table.Select(t => t.Name).Distinct().ToList(); 
3

创建一个linq查询并对结果使用.Distinct扩展方法。
例如:

var users = (from logfile in logfiles select logfile.Name).Distinct(); 
+0

'logfile中的logfile选择logfile.Name order by logfile.Name'也可以工作吗?我是linq的新手,但看起来像'Distinct'将不得不第二次在列表中运行,以删除重复的顺序。但我不确定按照意志顺序完成工作。 – Cemafor