【问题标题】:How can I access all values from a specific column in tables using linq and Entity Framework?如何使用 linq 和实体框架访问表中特定列的所有值?
【发布时间】:2021-01-09 08:44:17
【问题描述】:

有人可以帮助我吗?我想使用 linq 在组合框中显示特定列中的所有值。我试着去做,但我想不通。我是 linq 新手,找不到办法

【问题讨论】:

  • 您的意思是该组合包含列列表并且您将选择一个并显示值,或者您已经知道您想要的列并且您想加载其值列表进入组合?
  • 我已经知道列我只想在组合框中显示该列的所有行

标签: c# winforms entity-framework linq


【解决方案1】:

如果您想显示字符串产品名称列表并能够检索它们的 int id,例如:

combo.DisplayMember = "DisplayColumnName";
combo.ValueMember = "IdColumnName";
combo.DataSource = context.TableName.Select(r => 
  new KeyValuePair<int, string>(r.IdColumnName, r.DisplayColumnName)).ToList();

您需要将 TableName、DisplayColumnName 和 IdColumnName 替换为您的实际值。

要获取用户选择的 ID(例如,用于进一步的数据库查询),您可以:

var id = (int)combo.SelectedValue;

如果你想要用户选择的字符串:

var s = ((KeyValuePair)combo.SelectedItem).Value;

【讨论】:

    【解决方案2】:

    这行得通。

           var context = new LoginTest();
            var login = context.SignUps
                 .Select(c => new { c.id, c.Name });
            comboBox1.DataSource = login.ToList();
            comboBox1.ValueMember = "id";
            comboBox1.DisplayMember = "Name";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多