簡體   English   中英

將if語句放在LINQ for Entity框架的where子句中

[英]Place if statement inside a where clause in Linq for Entity framework

采取以下措施。

       var query = context.Fields
            .Where( 
                x => x.DeletedAt == null 
            );

        // Apply search
        if( searchCriteria != null )
        {
            if( searchCriteria.SearchTerm != "" )
            {
                query.Where(
                    x => x.Location.Contains( searchCriteria.SearchTerm )
                );
            }
        }

這是行不通的,因為有兩個where語句,它們不聯接。

我將如何做這個陳述? 它可能看起來像這樣:

var query = context.Fields
            .Where( 
                x => x.DeletedAt == null &&
                {
                    if( searchCriteria != null )
                    {
                        if( searchCriteria.SearchTerm != "" )
                        {
                            return x.Location.Contains( searchCriteria.SearchTerm );
                        }
                    }
                }
            );

以下是什么問題:

    var query = context.Fields
        .Where( 
            x => x.DeletedAt == null 
        );

    // Apply search
    if( searchCriteria != null )
    {
        if( searchCriteria.SearchTerm != "" )
        {
            query = query.Where(
                x => x.Location.Contains( searchCriteria.SearchTerm )
            );
        }
    }
    return query;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM