Using entity framework, how do you select the data

2019-09-07 10:06发布

问题:

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.

回答1:

Try explicitly specifying the anonymous type's member names:

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