【发布时间】:2013-09-25 17:12:42
【问题描述】:
我有这个使用下拉选择列表过滤的 linq 查询。 过滤器有效,但是,我想从表中选择城市为空的所有字段。这个标准给出了空的结果集。 这是错误的,因为有超过 100 个条目没有城市。
我的模型有这个:
public class classA
{
public string city {get; set;}
public ClassB somethingfromClassB{get; set;}
}
public class classB
{
//get set methods here
}
A 类的控制器如下所示:
public class classA : controller
{
public actionresult index()
{
//everything here works except this linq gives me an empty result sets:
var a = db.classA.inlcude(t=>t.somethingfromClassB);
if(value =="")
{
a=db.classA.where(u=>u.city==null).inlcude(t=>t.somethingfromClassB);
}
return view(a.tolist())
}
}
【问题讨论】:
-
数据库中city的类型是什么?是 nvarchar 吗?
-
您确定
database中的city字段是null但empty?我怀疑您可能会无意中将城市字段保存为empty -
好的,我如何在我的 linq 查询中检查两者
-
只检查
null或空字符串。.Where(u => u.city == null || u.city == String.Empty). -
@Menew "...因为有超过 100 个条目没有城市。" 请您发布用于获取这 100 行的 SQL Select 语句吗?跨度>
标签: c# asp.net-mvc linq