1

If I have a SQL table X with columns A and B, and I want to select the DATALENGTH of B, as well as column A, how do I do this in a single expression? For example:

var results = dc.X.Select(x => SqlFunctions.DataLength(x.B))

will return me results containing a single column equal to B's length. What does this statement look like if I want to include A in the same result set? I've tried this, but it won't compile obviously:

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

With the error:

error CS0746: Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.

Mihai Caracostea
  • 8,336
  • 4
  • 27
  • 46
Dan
  • 1,215
  • 1
  • 10
  • 22

1 Answers1

3

Try explicitly specifying the anonymous type's member names:

var results = dc.X.Select(x => 
    new { Length = SqlFunctions.DataLength(x.B), A = x.A });
Matt H
  • 7,311
  • 5
  • 45
  • 54