使用 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();
非常简单的要求:我需要 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();