基于复合键的模型关系

时间:2018-04-27 17:46:34

标签: c# .net-core ef-core-2.0

我在EF Core项目中有两个实体:商店和员工

Employee有一个引用Store的键,并且还有一个活动标志。

当我从DbContext中撤回Stores时,我想只看到那些具有引用相关商店并具有活动标记的键的Employees。

我对如何根据活动标志进行限制感到困惑。

最小的例子如下:

val topics: ArrayBuffer[TopicPartition] = ArrayBuffer(
  new TopicPartition("sometopicname", somePartitionNum),
  new TopicPartition("someothertopic", someOtherPartitionNum),
  // etc.
)
commitSync(topics)

如何生成我想要的行为?目前,这将拉回每个员工,无论是否有效。

2 个答案:

答案 0 :(得分:1)

您可以设置Global Query Filter

只需将以下内容添加到OnModelCreating覆盖:

modelBuilder.Entity<Employee>()
    .HasQueryFilter(e => e.IsActive);

不幸的是,EF Core不支持查询级别过滤器。你所能做的就是Disable Filters。因此,如果您希望这是针对特定查询或想要查询Active == false,我恐怕您必须按照另一个答案的建议使用投影。

答案 1 :(得分:0)

这样的东西?

{{1}}
相关问题