我有一个让我抓狂的简单问题。我正在尝试查询数据实体并且一切正常,直到我尝试引用外部内容。在下面的代码中(完美运行)我想将 .where clientID == 15 更改为 .where 客户端 ID 是组合框中显示的值,组合框值成员是一个整数:
private void cboxcos_SelectionChangeCommitted(object sender, EventArgs e)
{
using (var context2 = new tvdm())
{
var cus = context2.tblContacts
.Where(c => c.ClientID == 15)
.Select(c => new {c.LastName, c.FirstName, c.JobTitle, c.Telephone, c.Mobile, c.EMail })
.OrderBy(p => p.LastName)
.ToList();
dataGridView1.DataSource = cus;
}
}
任何简单的帮助将不胜感激。
我正在使用带有 C# 和 EF6 的 VS2015 社区
最佳答案
首先获取值,将其转换为正确的类型,然后在 linq 查询中使用该参数:
private void cboxcos_SelectionChangeCommitted(object sender, EventArgs e)
{
int value = (int)comboBox1.SelectedValue;
using (var context2 = new tvdm())
{
var cus = context2.tblContacts
.Where(c => c.ClientID == value)
.Select(c => new { c.LastName, c.FirstName, c.JobTitle, c.Telephone, c.Mobile, c.EMail })
.OrderBy(p => p.LastName)
.ToList();
dataGridView1.DataSource = cus;
}
}
关于c# - 如何使用 C# 对组合框进行 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35292882/