带有两个外键的导航属性,其中一个是硬编码的

时间:2014-03-05 19:02:52

标签: c# entity-framework ef-code-first entity-framework-6 ef-fluent-api

我们有一个表格RequestApproval,它使用两个字段来确定统一性:RequestTypeRequestDetailID。每种类型的请求都有自己的详细信息表,其主键映射到批准表的RequestDetailID。没有什么可以阻止两个请求详细信息表具有重叠的ID。这就是RequestType字段是唯一约束的一部分的原因。这是为了避免为每种类型的请求设置单独的审批表。

我们正在尝试将请求详细信息表配置为具有其批准的导航属性。最初,我们配置了这样的导航属性:

        HasMany(r => r.RequestApprovals)
            .WithOptional()
            .HasForeignKey(q => q.RequestDetailId);

不幸的是,这会获得所有请求类型的批准。似乎没有办法告诉实体框架将结果限制为仅具有特定RequestType的结果。

我可以告诉EF按要求类型进行额外过滤吗?即使我必须修改LINQ查询以明确过滤,这也没关系。不幸的是,似乎没有办法增加.Include以过滤掉结果。

0 个答案:

没有答案