所以我有一種方法設計爲使用可能或不可能在表中的鍵從表中獲取單個值。改變一些名字後,我的方法看起來像這樣。從表中獲取單個值的最佳方法?
使用實體框架和LINQ
public IHttpActionResult GetBool(int Id)
{
Entity e = db.Entity.FirstOrDefault(x => x.Id== Id);
if (e == null) return NotFound();
return Ok(e.BoolValue);
}
這一呼籲似乎沒有必要,拉動整個整個實體只是解決一個值。如何錯誤檢查可能不存在的實體,同時只抓取相關列?
我的解決方法是一樣的東西
bool value =
(from e in db.Entity
where e.ID == Id
select e.BoolValue).ToList().ElementAtOrDefault(0);
if(value== null) return NotFound();
return Ok(value);
這是查詢的最好方法?
解決方案:
頂端回答:
return db.Entity.Where(x => x.Id== Id)
.Select(x => Ok(x.BoolValue))
.DefaultIfEmpty(NotFound())
.First();
對於我個人的需求,我修改了它返回一個JSON對象。
什麼是'NotFound'和'Ok'和'disabled'什麼類型是'BoolValue'?另外,爲什麼單個記錄_heavy_? –
改變了我的問題,以解決錯誤的價值,也不要說沉重和昂貴,而是說不必要的。我只是問最好的辦法是什麼。至於什麼是NotFound和Ok,這些是狀態碼,由asp.net web api提供,而不是我自己製作的方法。對不起,我認爲很明顯BoolValue只是存儲在實體內的一個值,它是一個布爾值。 – LordHoneydew