繁体   English   中英

在C#中的实体框架中选择“多字段”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM