对 linq 有点陌生,
使用 linq 检索单个结果的最简单方法是什么?
例子,我的查询
var query =
from c in db.productInfo
where c.flavor == "Classic Coke" && c.container == "Can"
select c.co2Target;
它应该只返回一个具有 double 值的字段。我如何将其从查询中拉出来?过去我使用过 ExecuteScalar。我如何用 linq 做到这一点?我想保留它的数据类型
更新:
这就是我现在的位置。问题是我在这里运行的测试查询返回 4 而不是 3.75
var query =
(from a in db.LUT_ProductInfos
where a.flavor == "Classic Coke" && a.Container == "Can"
select new { a.co2High }).Single();
double MyVar = query.co2High.Value;
最佳答案
我想你的意思是返回一个值,而不是一条记录?您需要按如下方式select new {}
:
var query =
from c in db.productInfo
where c.flavor == "Classic Coke" && c.container == "Can"
select new { c.co2Target };
然后,如果您只想检索一条记录以及那条记录:
var query =
(from c in db.productInfo
where c.flavor == "Classic Coke" && c.container == "Can"
select new { c.co2Target }).Single();
检索将按如下方式完成:
var query =
(from c in db.productInfo
where c.flavor == "Classic Coke" && c.container == "Can"
select new { c.co2Target }).Single();
double MyVar = query.co2Target;
关于时间:2018-01-08 标签:c#linq: how to retrieve a single result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015081/