Search code examples
c#linqentity-frameworklinq-to-entities

Distinct on Multiple Columns Entity Framework LINQ


What is the LINQ Equivalent of

Select DISTINCT A, B, C from TESTDB WHERE ALPHA =1

I am trying something like this:

var data = TESTDB.WHERE(i=>i.ALPHA==1).SELECT(A,B,C).DISTINCT();

Solution

  • Using anonymous objects will do the trick:

    var data = TESTDB.Where(i => i.ALPHA == 1).Select(i => new {i.A, i.B, i.C}).Distinct();
    

    To retain the model:

    List<Book> books = db.Book.Select(i => new Book {Author = i.Author, Title = i.Title}).Distinct().ToList();