У меня есть следующие классы: Transacao
using System;
namespace ProjetoModeloDDD.Entities
{
public class Transacao
{
public int TransacaoId { get; set; }
public int Quantidade { get; set; }
public DateTime Data { get; set; }
public string Tipo { get; set; }
public int ProdutoId { get; set; }
public virtual Produto Produto { get; set; }
public decimal ValorTotal<T>(int quantidade, Produto produto)
where T : class
{
Quantidade = quantidade;
Produto = produto;
return quantidade * produto.Valor;
}
}
}
Compra
:
namespace ProjetoModeloDDD.Entities
{
public class Compra : Transacao
{
public int TransacaoId { get; set; }
public virtual Transacao Transacao { get; set; }
public int FornecedorId { get; set; }
public virtual Fornecedor Fornecedor { get; set; }
}
}
Я хочу создать сопоставление, в котором я буду создавать только таблицу покупок в база данных, наследуя все атрибуты транзакции, включая ValorTotal
. Я делаю конфигурацию ниже:
using ProjetoModeloDDD.Entities;
using System.Data.Entity.ModelConfiguration;
namespace ProjetoModeloDDD.Infra.Data.EntityConfig
{
public class CompraConfiguration : EntityTypeConfiguration<Compra>
{
public CompraConfiguration()
{
HasKey(c => c.TransacaoId);
HasRequired(c => c.Produto)
.WithMany()
.HasForeignKey(c => c.ProdutoId);
HasRequired(c => c.Fornecedor)
.WithMany()
.HasForeignKey(c => c.FornecedorId);
}
}
}
Однако таким образом я даже не могу создать таблицу покупок. Может ли кто-нибудь дать мне руководство по этому поводу?