![](/img/trans.png)
[英]Convert Sql Statement into Linq for use with C#, Entity Framework, MVC3
[英]How to use and if statement in linq Entity framework c#
我聲明這個變量是為了從我的數據庫中獲取數據(示例)
var products = _context.Products();
我需要像這個例子一樣使用
if(ctId == -1)
{
// get project list
var products = _context.Products().where(a => a.categoryId == 2);
}
else
{
//get category list
var products = _context.Products().where(a => a.categoryId == 1);
}
但我的問題是如何聲明var products
像這樣使用
if(ctId == -1)
{
// get project list
products = _context.Products().where(a => a.categoryId == 2);
}
else
{
//get category list
products = _context.Products().where(a => a.categoryId == 1);
}
對於最初的問題,您將在if
范圍之外聲明一個IQueryable<Product>
IQueryable<Product> products = null;
if(ctId == -1)
products = _context.Products().where(a => a.categoryId == 2);
else
products = _context.Products().where(a => a.categoryId == 1);
但是,您也可以使用三元條件運算符
條件運算符
?:
,也稱為三元條件運算符,計算布爾表達式並返回兩個表達式之一的結果,具體取決於布爾表達式的計算結果是true
還是false
。條件運算符的語法如下:
condition ? consequent : alternative
例子
var id = ctId == -1 ? 2 : 1;
var products = _context.Products().where(a => a.categoryId == id);
或潛在地
var products = _context.Products().where(a => a.categoryId == (ctId == -1 ? 2 : 1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.