Linq to Entities Distinct Clause

时间:2011-02-17 21:44:07

标签: c# sql linq-to-entities

我想在下面的代码中添加不同。我无法弄清楚确切的语法。提前致谢。

var testdates = (from o in db.FMCSA_ME_TEST_DATA
                 orderby o.DATE   
                 select new
                 {
                    RequestDate = o.DATE
                 });

3 个答案:

答案 0 :(得分:18)

使用Distinct()扩展方法。

请注意,Distinct()可能会否定现有的orderby(我在LINQ to SQL中注意到了这一点),因此您可能希望在之后使用OrderBy()方法。

var testdates = (from o in db.FMCSA_ME_TEST_DATA
                 select new
                 {
                     RequestDate = o.DATE
                 }).Distinct().OrderBy(x => x.RequestDate);

答案 1 :(得分:4)

var testdates = (from o in db.FMCSA_ME_TEST_DATA
                 orderby o.DATE   
                 select new
                 {
                    RequestDate = o.DATE
                 }).Distinct();

诀窍是将您的查询包装在括号中,这样您就可以调用已经执行过的distinct方法,因此您只需要在最后处理方法调用。

答案 2 :(得分:2)

似乎这应该有效:

            var testdates = (
                        from o in db.FMCSA_ME_TEST_DATA
                        orderby o.DATE
                        select new { RequestDate = o.DATE }
                        ).Distinct();

点击此链接:http://msdn.microsoft.com/en-us/vcsharp/aa336761.aspx#distinct2