C# 如何使用c对combobox进行Linq查询#
我有一个让我发疯的简单问题。我试图查询一个数据实体,在我尝试引用外部数据之前,一切都正常。在下面的代码中(这非常有效),我想将.where clientID==15更改为。如果客户端ID是组合框中显示的值,则组合框valuemember是一个整数:C# 如何使用c对combobox进行Linq查询#,c#,entity-framework,linq,C#,Entity Framework,Linq,我有一个让我发疯的简单问题。我试图查询一个数据实体,在我尝试引用外部数据之前,一切都正常。在下面的代码中(这非常有效),我想将.where clientID==15更改为。如果客户端ID是组合框中显示的值,则组合框valuemember是一个整数: private void cboxcos_SelectionChangeCommitted(object sender, EventArgs e) { using (var context2 = new tvdm())
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;
}
}
任何简单的帮助都将不胜感激
我将VS2015社区与C#和EF6一起使用,我想您需要
var cus = context2.tblContacts
.Where(c => c.ClientID == Convert.ToInt32(myComboBox.SelectedItem))
.Select(c => new {c.LastName, c.FirstName, c.JobTitle, c.Telephone, c.Mobile, c.EMail })
.OrderBy(p => p.LastName)
.ToList();
我想你需要像这样的东西
var cus = context2.tblContacts
.Where(c => c.ClientID == Convert.ToInt32(myComboBox.SelectedItem))
.Select(c => new {c.LastName, c.FirstName, c.JobTitle, c.Telephone, c.Mobile, c.EMail })
.OrderBy(p => p.LastName)
.ToList();
首先获取值,将其转换为正确的类型,然后在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;
}
}
首先获取值,将其转换为正确的类型,然后在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;
}
}
}
}事实上,我的结局是:
private void cboxcos_SelectionChangeCommitted(object sender, EventArgs e)
{
using (var context2 = new tvdm())
{
int value = (int)cboxcos.SelectedValue;
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;
}
}
事实上,我最终得到了:
private void cboxcos_SelectionChangeCommitted(object sender, EventArgs e)
{
using (var context2 = new tvdm())
{
int value = (int)cboxcos.SelectedValue;
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;
}
}
你得到了什么错误?我只是不能让它达到可以编译的状态,intellisense只是在它下面加下划线。所以你得到了一个编译器错误。哪一个?你得到了什么错误?我只是不能让它达到可以编译的状态,intellisense只是在它下面加下划线。所以你得到了一个编译器错误。哪一个?很好用,非常感谢你的帮助。我现在可以开始理解它,然后推进我的项目。这非常有效,非常感谢你的帮助。我现在可以开始理解它,然后推进我的项目。