使用 Dynamic LINQ 选择空字符串

Selecting empty string with Dynamic LINQ

非常简单的要求:我需要 select 一个在 Dynamic LINQ 中带有空字符串的命名列。大致如下:

myQuery.Select("new(Col1, Col2, '' AS Col3)");

不过这行不通。正确的语法是什么?

这可能会解决您的问题:

myQuery.Select("new(Col1, Col2, @0 AS Col3)", string.Empty);

参见:https://dotnetfiddle.net/jBYIXn

以下是我最终解决的方法:空字符串必须使用 "" 而不是 ''

// Construct query string
string queryColumns = string.Join(
    ",",
    string.Join(",", regularColumns),
    string.Join(",", requiredFeatureColumns.Select(featureID => $"\"\" AS Feature_{featureID}")));

// Get base data
List<dynamic> clientData = await myQuery
    .Select($"new({queryColumns})")
    .ToDynamicListAsync();