【发布时间】:2020-12-07 09:34:34
【问题描述】:
我有一个实体使用另一个可以为空的实体
class Parent
{
int? ChildId;
Child Child;
}
class Child
{
decimal Property;
}
我正在尝试对子属性进行过滤,但它会生成一个奇怪的 SQL
Parents.Select(p => new { X = p.Child.Property <> 0 ? 1 : 0 })
但是当我查看它生成的 SQL 时:
(([p.Child].[Property] <> 0.0) OR [p.Child].[Property] IS NULL).
我想要的SQL是有
(([p.Child].[Property] <> 0.0) OR [p.Child].[Property] IS NOT NULL)
不使用p.Child != null && p.Child.Property <> 0 是否可以实现这一点。我试过了,但它仍然添加了 IS NULL 条件。
【问题讨论】:
-
EF6 还是 EF Core?如果是 Core,什么版本?
-
EF 核心版本 2.2
标签: sql-server entity-framework entity-framework-core ef-core-2.2