簡體   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