LINQ Select 多列作为组合框 C# 的数据源

LINQ Select mutiply columns as data source for combobox C#

我有一个组合框,其中必须包含来自(Client table)的拥有房产(Estate table)的客户列表。 table 都包含 ClientID 字段。我想从 Estate table 获取 ClientID 作为 ValueMember,从 Client table 获取 Client Name 作为组合框的 DisplayMember,如下所示:

        ClientComboBox.DataSource = ownerQuery;
        ClientComboBox.DisplayMember = "ClientName";
        ClientComboBox.ValueMember = "ClientID";

我有一个只给我 ClientName 的查询:

 var ownerQuery = (from own in AgencyContext.Client
            join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
            select own.ClientName);

如何从一个查询中获取 ClientID 和 ClientName 作为 Combobox 的源。

变化:

var ownerQuery = (from own in AgencyContext.Client
            join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
            select own.ClientName);

收件人:

var ownerQuery = (from own in AgencyContext.Client
            join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
            select own);

使用匿名类型:

 var qry = (from client in AgencyContext.Client
            join estate in AgencyContext.Estate on client.ClientID equals estate.ClientID
            select new 
            {
                ClientId = estate.ClientId,
                ClientName = client.ClientName
            });

你可以这样使用:

    ClientComboBox.DataSource = qry;
    ClientComboBox.DisplayMember = qry.First().ClientName;
    ClientComboBox.ValueMember = qry.First().ClientId;