c#:如何从linq查询中设置combobox valuemember

Sin*_*tic 5 c# linq datasource valuemember

好吧所以我有组合框,而数据源是linq查询的结果

//load QA names
            var qaNames =
                from a in db.LUT_Employees
                where a.position == "Supervisor" && a.department == "Quality Assurance"
                select new { a, Names = a.lastName + ", " + a.firstName };

            cboQASupervisor.DataSource = qaNames;
            cboQASupervisor.DisplayMember = "Names";
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当我尝试添加下一行代码时

cboQASupervisor.ValueMember = "ID";
Run Code Online (Sandbox Code Playgroud)

我在运行时遇到错误,它无法转换匿名类型.我该如何解决?

更正:错误是:

无法绑定到新值成员.参数名称:value

Ale*_*Aza 12

您将ID指定为值字段,但您的匿名类型中没有ID属性.
假设您的LUT_Employees对象中有ID:

var qaNames = (
    from a in db.LUT_Employees
    where a.position == "Supervisor" && a.department == "Quality Assurance"
    select new { a.ID, Names = a.lastName + ", " + a.firstName })
    .ToList();

cboQASupervisor.DataSource = qaNames;
cboQASupervisor.DisplayMember = "Names";
cboQASupervisor.ValueMember = "ID";
Run Code Online (Sandbox Code Playgroud)