如果我有一个带有A列和B列的SQL表X,并且我想选择B的DATALENGTH以及A列,我该如何在单个表达式中执行此操作?例如:
var results = dc.X.Select(x => SqlFunctions.DataLength(x.B))
将返回包含等于B长度的单个列的结果。如果我想在同一结果集中包含A,那么这个陈述是什么样的?我试过这个,但显然不会编译:
var results = dc.X.Select(x => new { SqlFunctions.DataLength(x.B), x.A });
错误:
错误CS0746:无效的匿名类型成员声明符。必须使用成员分配,简单名称或成员访问声明匿名类型成员。
答案 0 :(得分:1)
尝试显式指定匿名类型的成员名称:
var results = dc.X.Select(x =>
new { Length = SqlFunctions.DataLength(x.B), A = x.A });