Spaltennamen in linq where-Klausel auswerten

Ich entschuldige mich, wenn ich hier etwas Offensichtliches vermisse ...

Ich versuche, eine Methode anzupassen, um einen RadComboBox-Filter zu erstellen, der sich an die Benutzertypen anpasst (basierend auf einer Telerik-Demo). Ich verwende eine Business Logic-Ebene, um meine Datenquelle abzurufen, und versuche dann, mit linq die Werte für das Kombinationsfeld OnItemsRequested auszuwählen, je nachdem, welches Kombinationsfeld die Anforderung gestellt hat. Ich versuche, die Parameter in der "where" -Klausel festgelegt zu haben, basierend auf dem GridColumn-Filter, der die Anforderung ausführt.

Hier ist mein Code, um die Liste zu füllen:

private void list_ItemsRequested(object o, RadComboBoxItemsRequestedEventArgs e)
    {
        ((RadComboBox)o).DataTextField = this.DataField;
        ((RadComboBox)o).DataValueField = this.DataField;
        var employees = from emp in EmployeeBL.GetAllEmployees()
                        where emp.(this.UniqueName).Contains(e.Text)
                        select emp;
        ((RadComboBox)o).DataSource = employees;
        ((RadComboBox)o).DataBind();
    }

Muss ich den UniqueName als Parameter in mein Datenobjekt (EmployeeDTO) umwandeln?

Vielen Dank.

UPDATE :: Dank des Feedbacks hatte ich einige Erfolge beim Auffüllen der Combobox-Liste. Ich denke jedoch, ich habe immer noch einen Fehler in meiner Linq-Anweisung. Die Liste wird das erste Mal erstellt. Wenn ich jedoch versuche, den Vergleich "StartsWith" durchzuführen, wird auf der Seite der Fehler "the" ausgegebenDie Datenquelle enthält keine Datenzeilen, obwohl ich definitiv eine "auffindbare" Zeichenfolge schreibe.

Folgendes habe ich jetzt.

private void list_ItemsRequested(RadComboBox o, RadComboBoxItemsRequestedEventArgs e)
    {
        o.DataTextField = this.DataField;
        o.DataValueField = this.DataField;

        DataTable dt = EmployeeBL.GetAllEmployees().AsDataTable();

        IEnumerable<DataRow> query =
            from emp in dt.AsEnumerable()
            where emp.Field<String>(this.UniqueName).StartsWith(e.Text)
            select emp;

        DataTable boundTable = query.CopyToDataTable<DataRow>();
        o.DataSource = boundTable;
        o.DataBind();
    }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage