LINQ Get Distinct values and fill LIST

c#, linq

Solution

Any reason not to simply do the projection after the distinct, you might need an AsEnumerable() after the Distinct but that's not a big deal.

public static List<StudentData> LinqDistinct(DataTable dt)
{
    DataTable linqTable = dt;
    return
        (from names in dt.AsEnumerable()
         select new {
             FirstName = names.Field<string>("FirstName"),
             LastName = names.Field<string>("LastName")
         }).Distinct().Select(x =>
             new StudentData() { FirstName=x.FirstName, LastName=x.LastName})
             .ToList();
}

Problem

I am trying to figure out if I can use LINQ to provide me with the distinct values of some data I have in a DataTable (FirstName, LastName, QTY). I can get the distinct values and fill my List, but I have to run two different LINQ queries to get it....I am sure there is a better way to do it :) Any suggestions would be greatly appreciated (very new to LINQ) Code: ``` public static List<StudentData> LinqDistinct(DataTable dt) { DataTable linqTable = dt; //get the distinct values var query = (from names in dt.AsEnumerable() select new { FirstName = names.Field<string>("FirstName"), LastName = names.Field<string>("LastName") }).Distinct(); //fill my list with the distinct values List<StudentData> sList = (from sa in query.AsEnumerable() select new StudentData { FirstName = sa.FirstName, LastName = sa.LastName //Qty = names.Field<int>("Qty") }).ToList(); return sList;} ```

Original source