时间:2018-01-08 标签:c#linq: how to retrieve a single result

标签 c# linq scalar

对 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/

相关文章:

c# - ASP.NET CORE 将 Razor View 渲染为带有 Controller 参数的字符串

c# - 内容控件必须是内容页或引用母版页的嵌套母版页中的顶级控件

C# 窗体自动调整窗口大小

c# - 如何将数据表转换为泛型

arrays - perl:为什么对匿名数组的引用是标量?

c# - 必须声明标量变量 '@connection' 错误

c# - 调用 .Save() 后亚音速日期发生变化

c# - 如何左连接到另一个左连接

c# - 如何将 Action 提取到成员函数中?

perl - 无法在 Perl 中取消引用标量