Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Lambda表达式中带有AND运算符的Lambda表达式_C#_.net_Linq_Entity Framework_Lambda - Fatal编程技术网

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

C# Lambda表达式中带有AND运算符的Lambda表达式,c#,.net,linq,entity-framework,lambda,C#,.net,Linq,Entity Framework,Lambda,我犯了一个错误( 对象引用未设置为对象的实例 )当我尝试执行数据库操作时,似乎找不到问题所在,一定是来自此p.ADRESA.Equals(listBox1.SelectedItem.ToString(),因为如果没有它,代码可以工作,但我需要两个条件,请帮助 Int16 idValoare =Convert.ToInt16 (comboBoxIDValoare.SelectedItem.ToString()); if (selectedTabel.Equals("CUSTOM

我犯了一个错误(

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

)当我尝试执行数据库操作时,似乎找不到问题所在,一定是来自此
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();
            }
}

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

简单地说:

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

不能在LINQ方法中使用
ToString()
,但可以尝试以下方法:

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

我希望这能对你有所帮助。请反馈。

你试过调试和检查值吗?我的心理调试能力告诉我listBox1没有选择任何项目。listBox1.SelectedItem可能为null除了
SelectedItem
可能为null之外,
Equals
还可能引发
NullReferenceException
如果
P.ADRESA < /代码>是“代码> null <代码>。您可以考虑使用<代码>=< /代码>运算符。我检查了SelectedItem不是NULL:在这行客户Cux= DB。客户。首先(P= >(PuxCurrIDI= IdValoAES)& &(P.ADRESA。(ListBox X.SalestIt.ToStRun()));客户Cuth= DB。客户。第一(P=)(p.CUSTOMERID==idValoare));works fineCan
ADRESA
在数据库中是否为空?在调试器中,它显示:System.Data.Entity.dll中发生了类型为“System.NotSupportedException”的未经处理的异常。其他信息:LINQ to Entities无法识别方法“System.String ToString”()'方法,而此方法无法转换为存储表达式。