Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# MVC希望我的查询能够返回空元素_C#_Asp.net Mvc_Entity Framework_Entity_Code First - Fatal编程技术网

C# MVC希望我的查询能够返回空元素

C# MVC希望我的查询能够返回空元素,c#,asp.net-mvc,entity-framework,entity,code-first,C#,Asp.net Mvc,Entity Framework,Entity,Code First,因此,我有一行简单的代码,用来检查数据库是否已经有数据,但如果没有,它将返回一个错误(说明在数据库中找不到任何内容) 基本上,我正在尝试获取它,以便查询也可以返回null?以下是我使用的代码: var ac = db.Houses.Single(d => d.address1 == reviewmodelview.Address1); 正如您所看到的,它非常简单,我将使用ac变量运行if语句,查看它的null或has是否有值。但是当它为null时,它抛出一个异常。是否缺少一段代码?而不

因此,我有一行简单的代码,用来检查数据库是否已经有数据,但如果没有,它将返回一个错误(说明在数据库中找不到任何内容)

基本上,我正在尝试获取它,以便查询也可以返回null?以下是我使用的代码:

 var ac = db.Houses.Single(d => d.address1 == reviewmodelview.Address1);
正如您所看到的,它非常简单,我将使用ac变量运行if语句,查看它的null或has是否有值。但是当它为null时,它抛出一个异常。是否缺少一段代码?

而不是
Single()
使用
FirstOrDefault()
,它可以执行您想要的操作。

尝试
SingleOrDefault
-如果结果集返回0,它将返回类型的默认值。

    var ac = db.Houses.SingleOrDefault(d => d.address1 == reviewmodelview.Address1);

    if(ac == null)
    {
      // null check 
    }

甚至
SingleOrDefault
@Daniel-我总是喜欢使用First/FirstOrDefault,因为如果有超过1个匹配行,Single/SingleOrDefault会引发异常,这在某些情况下可能很有用,但我还没有看到其中一个。