所以我有一种方法设计为使用可能或不可能在表中的键从表中获取单个值。改变一些名字后,我的方法看起来像这样。从表中获取单个值的最佳方法?
使用实体框架和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