Я пробую приложение xamarin ... и мне нужна база данных sqlite ... которая содержит 3 таблицы ... пользователей, учетные записи и транзакции ... таблица счетов выглядит так:
[Table(nameof(Account))]
class Account
{
[PrimaryKey,AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
[ForeignKey(typeof(User))]
public int UserId { get; set; }
public double Balance { get; set; }
[ManyToOne]
public User User { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<Transaction> Transactions { get; set; }
}
Я думаю, что здесь нет никаких проблем ... но в таблице транзакций есть столбцы буксировки, FirstAccountId
и TargetAccountId
, поэтому мне нравится это:
[Table(nameof(Transaction))]
class Transaction
{
[PrimaryKey,AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(Account))]
public int TargetAccountId { set; get; }
[ForeignKey(typeof(Account))]
public int FirstAccountId { get; set; }
public DateTime DateOfTransaction { get; set; }
[ManyToOne()]
public Account Account1 { get; set; }
[ManyToOne()]
public Account Account2 { get; set; }`
}
Как я могу сделать Account1
учетная запись для FirstAccountId
и Account2
является учетной записью для TargetAccountId