lambda表达式中带有AND运算符的Lambda表达式

时间:2013-03-07 19:43:53

标签: c# .net linq entity-framework lambda

我收到错误(

  

对象引用未设置为对象的实例

)当我尝试进行数据库操作时,我似乎无法找到错误,必须是来自此p.ADRESA.Equals(listBox1.SelectedItem.ToString()的东西,因为没有它代码可以工作,但我需要两个条件,请帮助

 Int16 idValoare =Convert.ToInt16 (comboBoxIDValoare.SelectedItem.ToString());

        if (selectedTabel.Equals("CUSTOMER"))
        {
            if (selectedColoana.Equals("ADRESA"))
            {
                CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(listBox1.SelectedItem.ToString())));
                customer.ADRESA = textBoxValoare.Text;
                db.SaveChanges();
            }
}

2 个答案:

答案 0 :(得分:6)

你不能在LINQ方法中使用ToString(),但你可以试试这个:

string selectedItem = listBox1.SelectedItem.ToString();
CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(selectedItem)));

我希望能帮到你。请反馈。

答案 1 :(得分:2)

您的listbox1似乎没有选定的项目。您应该添加一个额外的条件来执行检查之前您执行任何代码。

简单地:

if (listbox1.SelectedItem == null)
{
    //get the hell out of here
}
else
{
   //do your stuff
}