AggregateProjection 不支持软删除的聚合

问题描述 投票:0回答:1

我正在尝试为 marten 数据库中的聚合激活快照和软删除。当我运行该项目时,我收到一个运行时错误:“AggregateProjection 无法支持软删除的聚合”。

.net版本:8

貂版本:6.3

public static class StoreOptionsExtensions
{
    public static void ConfigureEventStore(this StoreOptions options)
    {
        options.Schema.For<MyAggregate>().SoftDeleted();
        options.Projections.Snapshot<MyAggregate>(SnapshotLifecycle.Inline);
    }
}

错误是:

AggregateProjection cannot support aggregates that are soft-deleted 

我的问题是,是否可以同时激活快照和软删除?如果是的话我应该如何实施?

c# marten
1个回答
0
投票

不幸的是,我们面临着同样的问题。然而,根本原因是,如果您使用任何类型的 AggregateProjection,Marten 都不支持 SoftDelete。我发现了这个问题 - https://github.com/JasperFx/marten/issues/1992 但它似乎已被关闭,因为它不再计划解决。有一种方法可以绕过它,可以自行实现 SoftDelete 或利用

CustomProjection
- https://martendb.io/events/projections/custom-aggregates.html

© www.soinside.com 2019 - 2024. All rights reserved.