[英]Select Multi fields in Entity framework in c#
我想选择2个或更多这样的字段:例如,我们有一些人的名单,现在他们说找到住在纽约的男性。
我们在这里有“城市”和“性”两个字段。
我可以这样
private List<tblTest> GetAll(string city, string sexual)
{
var all = (from x in db.tblTest
where x.city == city && x.sexual == sexual
select x).ToList();
return all;
}
而这个没有帮助:
private List<tblTest> GetAll(string city, string sexual)
{
var all = (from x in db.tblTest
where x.city == city || x.sexual == sexual
select x).ToList();
return all;
}
使用“ &&
”,我可以做到,但是如果我只想选择“ City
”,那是行不通的,我想像这样搜索14个字段,我们想搜索某些字段,而不是我们拥有的所有字段,而我们却没有不知道我们要搜索哪些字段
我该怎么办?
我的方法如下:
private List<tblTest> GetAll(string city, string sexual)
{
var query = db.tblTest.AsQueryable();
if(!string.IsNullOrEmpty(city))
{
query = query.Where(x => x.city == city);
}
if(!string.IsNullOrEmpty(sexual ))
{
query = query.Where(x => x.sexual == sexual );
}
return all.ToList();
}
调用AsQueryable
非常重要,否则,如果您编写IEnumerable<tblTest> query = ...
,则查询的结果将超过1次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.