c# 实体 linq 和 linqpad 区别

c# entity linq and linqpad differences

使用分组查询,按结果构建时我得到不同的结果

这在 LinqPad 中有效,但在代码中无效

Name = s.Key.FirstName + " " + s.Key.LastName ?? "Unknown User"

这在代码中有效,但在 LinqPad 中无效

Name = s.Key.FirstName != null ? s.Key.LastName + " " + s.Key.LastName : "Unknown User"

两者都适用

Name = String.IsNullOrEmpty(s.Key.FirstName) ? "Unknown User" : s.Key.FirstName + " " + s.Key.LastName,

谁能解释一下原因

LinqPad 默认使用 Linq2Sql。

EFLinq2Sql 之间运行的 LINQ 肯定存在差异。这几乎肯定是您 运行 的目标。

LINQ 根据实际运行组合查询的提供程序的不同而有所不同。 还有很多,但这只是一个开始:

你可以自己写LINQ providers

尽管如果您告诉 Linqpad 添加一个 EF 库,它会消耗您创建的一个: