Quero usar um campo de apoio do EF Core .
A entidade possui:
public IReadOnlyCollection<Product> Products => _products;
private readonly List<Product> _products = default!;
Configuração EF:
builder
.HasMany(x => x.Products)
.WithOne()
.HasForeignKey(x => x.ManufacturerId)
.OnDelete(DeleteBehavior.Cascade);
builder // <----- problem here
.Property(x => x.Products)
.HasField("_products");
Isso produz:
Não foi possível criar um 'DbContext' do tipo ''. A exceção 'A propriedade ou navegação 'Produtos' não pode ser adicionada ao tipo 'Fabricante' porque uma propriedade ou navegação com o mesmo nome já existe no tipo 'Fabricante'.' foi gerada durante a tentativa de criar uma instância.
Suspeito que o código de configuração tenta adicionar a mesma navegação duas vezes. Qualquer uma delas pode ser usada, mas não simultaneamente. Eu poderia remover uma e confiar em convenções, mas não quero fazer isso, pois prefiro código de configuração explícito.
Como posso configurar explicitamente esse campo de apoio e evitar o erro?