Entity Framework Core - пропущенные таблицы после «миграции добавить» + «обновление базы данных» - PullRequest
0 голосов
/ 03 января 2019

Я работаю над бэкэндом для моего углового приложения, и мне не хватает таблиц MoneyTransfers и FixedMoneyTransfers в моей базе данных.

Соответствующими объектами для этой проблемы являются BankAccount, CostCentre и MoneyTransfer

BankAccount имеет два отдельных свойства типа List<MoneyTransfer> (TransferReceipts и TransferDebits), а также одно List<FixedMoneyTransfer>.

CostCentre имеет два отдельных свойства типа List<MoneyTransfer> (BudgetReceipt и BudgetDebits).

И, наконец, MoneyTransfer имеет два отдельных BankAccounts (Источник, Цель) и два отдельных CostCentres (Источник, Цель). То же самое касается FixedMoneyTransfer.

Может ли быть так, что EF трудно представить эти отношения в базе данных? Должен ли я изменить свою модель данных?

Заранее спасибо

См. Соответствующие файлы ниже:

DbContext:

public class AccountBookDbContext : DbContext
{
    public DbSet<Depositor> Depositors { get; set; }
    public DbSet<BankAccount> BankAccounts { get; set; }
    public DbSet<CostCentre> CostCentres { get; set; }

    public AccountBookDbContext(DbContextOptions<AccountBookDbContext> options) : base(options) { }
}

BankAccount.cs:

public class BankAccount
{
    public int Id { get; set; }
    public Depositor Depositor { get; set; }

    public List<MoneyTransfer> TransferReceipts { get; set; }
    public List<MoneyTransfer> TransferDebits { get; set; }

    //other properties not shown
}

CostCentre.cs:

public class CostCentre
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public List<MoneyTransfer> BudgetReceipts { get; set; }
    public List<MoneyTransfer> BudgetDebits { get; set; }
}

MoneyTransfer.cs:

public class MoneyTransfer
{
    public int Id { get; set; }
    public DateTime Date { get; set; }
    public BankAccount SourceAccount { get; set; }
    public CostCentre SourceCostCentre { get; set; }
    public BankAccount TargetAccount { get; set; }
    public CostCentre TargetCostCentre { get; set; }
    public double Figure { get; set; }
    public string Reference { get; set; }
}

FixedMoneyTransfer.cs:

public class FixedMoneyTransfer
{
    public int Id { get; set; }
    public BankAccount SourceAccount { get; set; }
    public CostCentre SourceCostCentre { get; set; }
    public BankAccount TargetAccount { get; set; }
    public CostCentre TargetCostCentre { get; set; }
    public string Reference { get; set; }
    public double Figure { get; set; }
    public int Frequency { get; set; }
    public DateTime DueDate { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...