LINQ for SQL语句,返回单个标量值

时间:2015-12-14 13:53:28

标签: linq-to-sql scalar

我想执行以下选择:

SELECT 0 as Value

LINQ for SQL中的相关语法是什么?

修改

我想在Concat()调用中使用相关的LINQ for SQL语句,就像这样

var c = (from a in mytable select a.Value).Concat(select 0).Sum();

如您所见,Concat(选择0)显然无法编译。有什么想法吗?

修改2

David建议使用简单的集合。我试过了

private decimal[] mZeroDecimals = new[] { 0.0m };
...

public void MyFunction()
{
  var c = (from a in mytable select a.Value).Concat(mZeroDecimals).Sum();
  ...

但它抛出异常除了Contains()运算符之外,本地序列不能用于查询运算符的LINQ to SQL实现。

1 个答案:

答案 0 :(得分:0)

您实际上并未查询任何内容,因此不涉及LINQ。您只是使用名为Value的单个属性创建一个匿名对象:

var obj = new { Value = 0 };

编辑:根据您的评论,听起来您想在集合中使用此对象。这并不能使它成为LINQ查询(因为您仍然没有查询任何东西),但您可以像单个对象一样轻松地声明集合。像这样:

var coll = new[] { new { Value = 0 } };

由于这是一个集合,它可以与LINQ使用的任何可枚举扩展方法一起使用,这听起来就像你正在尝试做的那样。