【问题标题】:How to apply soft delete filter in MongoDB Driver for C#?如何在 C# 的 MongoDB 驱动程序中应用软删除过滤器?
【发布时间】:2022-01-04 15:14:53
【问题描述】:
public class User
{
        public string Id { get; private set; }
        public string Name { get; private set;} 
        public bool IsActive{ get; private set; }
}

我正在构建一个使用 MongoDB 驱动程序连接到 Mongo 的 .Net 应用程序。 一些实现的实体有一个 IsActive 字段 - 基本上是一个布尔值,如果实体处于活动状态,则设置为 true,如果实体已被删除,则设置为 false。 (如果愿意,可以进行软删除或逻辑删除)

我的目标是应用一个“全局过滤器”,它将成为应用于给定集合的任何过滤器的基础。类似于 EF Core 全局查询过滤器https://docs.microsoft.com/en-us/ef/core/querying/filters

MongoDB 驱动程序有类似的东西吗?如果没有,你们有没有关于如何以任何其他方式实现这一点的建议?

【问题讨论】:

标签: c# mongodb mongodb-.net-driver soft-delete


【解决方案1】:

开箱即用的唯一 option 是 IMongoCollection.OfType,其中按实体类型(而不是字段)进行过滤,因此您需要稍微更改实现以使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2022-01-03
    • 2019-05-13
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多