MVC 3 Entity Framework 4.1获取唯一数据行的列表

时间:2011-10-26 20:08:23

标签: entity-framework linq-to-entities

我正在使用MVC 3和Entity Framework 4.1。我需要从我的Documents数据库表返回一个包含DISTINCT值行列表的视图。在SQL Server中,有效的查询如下:

SELECT DISTINCT(DocNum), Title, DocDate, DocFileName FROM Documents

我如何在MVC 3中做同样的事情?

2 个答案:

答案 0 :(得分:1)

var result = (from d in cntx.Documents
            select d).Distinct();

答案 1 :(得分:1)

尝试:

var query = context.Documents.Select(x => new
                 {
                     x.DocNum,
                     x.Title,
                     x.DocDate,
                     x.DocFileName 
                 }).Distinct().ToList();

区别必须遍历所有返回的列,否则您最终会遇到单个DocNumber,例如多个日期和查询引擎将不知道选择哪个日期,因为只有一个给定DocNumber的记录可以被退回。