#c# #asp.net-core
Вопрос:
У меня есть модель, в которой мне нужно создать таблицу и базу данных на ее основе, но проблема в том, что мой класс вложен:
public class PaymentModel
{
public string CreditorName { get; set; } = default!;
public CreditorAccounts CreditorAccount { get; set; } = default!;
public DebtorAccounts DebtorAccount { get; set; } = default!;
public InstructedAmounts InstructedAmount { get; set; } = default!;
public string RemittanceInformationUnstructured { get; set; } = default!;
public class CreditorAccounts
{
public string Iban { get; set; } = default!;
public string Currency { get; set; } = default!;
}
public class DebtorAccounts
{
public string Iban { get; set; } = default!;
public string Currency { get; set; } = default!;
}
public class InstructedAmounts
{
public string Currency { get; set; } = default!;
public string Amount { get; set; } = default!;
}
public class PaymentAccounts
{
public string Iban { get; set; } = default!;
public string Currency { get; set; } = default!;
}
public class PaymentAmounts
{
public string Currency { get; set; } = default!;
public string Amount { get; set; } = default!;
}
}
какая здесь лучшая практика?следует ли создать таблицу для каждого класса?и присоединиться к ним?или есть лучший способ создать единую таблицу ?
Комментарии:
1. Большинство рекомендовали бы Entity Framework (включая меня), но если вы хотите сделать это вручную, вы правы, что лучший подход-создать таблицу для каждого класса, добавив первичные ключи и внешние ключи для создания так называемой реляционной базы данных.
Ответ №1:
я настоятельно рекомендую использовать entity framework, если у вас есть знания. Вы должны создать таблицу для каждого класса, которая обеспечивает простое управление и делает ее более доступной для разработки в будущем, если вам это нужно. Вам не обязательно присоединяться к ним. Создавайте свои таблицы, как;
Имя кредитора: Идентификатор(int), Имя кредитора.
Счет кредитора: Идентификатор(int), Идентификатор кредитора(int), Iban, Валюта
Вы можете получить доступ ко всем данным, связанным с именем кредитора, по идентификатору кредитора.