使用实体框架,如何选择某一列的数据长度加上其他列数据

问题描述 投票:0回答:2

如果我有一个包含 A 列和 B 列的 SQL 表 X,并且我想选择 B 的数据长度以及 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:无效的匿名类型成员声明符。匿名类型成员必须使用成员赋值、简单名称或成员访问权限来声明。

entity-framework select datalength
2个回答
4
投票

尝试显式指定匿名类型的成员名称:

var results = dc.X.Select(x => 
    new { Length = SqlFunctions.DataLength(x.B), A = x.A });

0
投票

现在,您可以使用

EF.Functions.DataLength

© www.soinside.com 2019 - 2024. All rights reserved.