Вход на сайт
Непонятки с DDD
1292 просмотров
Перейти к просмотру всей ветки
Есть следующие классы: - вопрос: зачем переопределили 'public new ValueId<TIdType> Id' в AggregateRoot. EF дуреет.
public abstract class AggregateRoot<TId, TIdType> : Entity<TId> where TId : ValueId<TIdType> { public new ValueId<TIdType> Id { get; protected set; } protected AggregateRoot(TId id) { Id = id; } protected AggregateRoot() { } }
public abstract class Entity<TId> : IEquatable<Entity<TId>>, IHasDomainEvents where TId : notnull { private readonly List<IDomainEvent> _domainEvents = new(); public TId Id { get; protected set; } public IReadOnlyList<IDomainEvent> DomainEvents => _domainEvents.AsReadOnly(); protected Entity(TId id) { Id = id; } ... }
public abstract class ValueId<TId> : ValueObject { public abstract TId Value { get; protected set; } }