【发布时间】:2020-02-13 21:58:29
【问题描述】:
我有一个 linq 查询,我用它来聚合一些带有一些操作 [替换] 的字符串。 所以,我有两个版本的查询;其中一个工作,另一个不工作[抛出异常],我想知道它为什么不工作。
工作查询:
string.Join("",Context.Table1.Where(c => c.Column1== Value1)
.Select(c => c.Column2.Replace("~", "~" + Environment.NewLine)).ToList());
不工作的查询:
string.Join("",Context.Table1.Where(c => c.Column1== Value1)
.Select(c => c.Column2.Replace("~", "~" + (char)(13) + (char)(10)).ToList());
它们之间的唯一区别是 Environment.NewLine 和 (char)(13) + (char)(10)
更新: 这是因为 char 在 EntityFramework 中不是有效的原始类型。有几篇文章详细解释了这一点:
【问题讨论】:
-
Environment.NewLine有什么问题?