![](/img/trans.png)
[英]Entity Framework - LINQ statement with WHERE clause based on NULLABLE parameter
[英]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.