我们有一个表格RequestApproval
,它使用两个字段来确定统一性:RequestType
和RequestDetailID
。每种类型的请求都有自己的详细信息表,其主键映射到批准表的RequestDetailID
。没有什么可以阻止两个请求详细信息表具有重叠的ID。这就是RequestType
字段是唯一约束的一部分的原因。这是为了避免为每种类型的请求设置单独的审批表。
我们正在尝试将请求详细信息表配置为具有其批准的导航属性。最初,我们配置了这样的导航属性:
HasMany(r => r.RequestApprovals)
.WithOptional()
.HasForeignKey(q => q.RequestDetailId);
不幸的是,这会获得所有请求类型的批准。似乎没有办法告诉实体框架将结果限制为仅具有特定RequestType
的结果。
我可以告诉EF按要求类型进行额外过滤吗?即使我必须修改LINQ查询以明确过滤,这也没关系。不幸的是,似乎没有办法增加.Include
以过滤掉结果。