2013-02-27 11 views
0

如果我有一个SQL表X与列A和B,并且我想选择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

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

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

这是它。感谢代码。 – Dan 2013-02-27 16:35:23