LINQ-Abfrage an DataGridView binden

Dies ist sehr verwirrend. Ich verwende AsDataView, um das Abfrageergebnis an ein dgv zu binden.

var query = from c in myDatabaseDataSet.Diamond where c.p_Id == p_Id select c;
dataGridView1.DataSource = query.AsDataView();

Dies führt jedoch zu einem Fehler:

var query = from item in myDatabaseDataSet.Items
    where item.p_Id == p_Id
    join diamond in myDatabaseDataSet.Diamond
        on item.p_Id equals diamond.p_Id
    join category in myDatabaseDataSet.DiamondCategory
        on diamond.dc_Id equals category.dc_Id
    select new
    {
        Product = item.p_Name,
        Weight = diamond.d_Weight,
        Category = category.dc_Name
    };

    dataGridView1.DataSource = query.AsDataView();

Error:

Instance argument: cannot convert from
'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 
'System.Data.DataTable'

AsDataView wird in der Abfrage nicht angezeigt. (Liste). Warum ist das passiert? Wie binde ich dann die obige Abfrage an den dgv?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage