Я реализовал некоторый контекст базы данных для моего приложения. net core blazor. Контекст базы данных имеет доступ к внешней базе данных (нет миграции базы данных и т. Д. c.)
Теперь моя проблема заключается в том, что я не уверен, как определить внешний ключ, используя текущие API или атрибуты данных, когда родительская таблица содержит внешний ключ для таблицы.
В качестве упрощенного примера: у меня есть сущность транзакций с такими данными:
[Table("transactions")]
public class Transaction
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("trans_num")]
public string TransNum { get; set; }
[Column("shop_id")]
public int? ShopId { get; set; }
[Column("total_amount")]
public decimal TotalAmount { get; set; }
public Shop Shop { get; set;}
}
И какая-то сущность магазина с такими данными:
[Table("shops")]
public class Shop
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("shop_name")]
public string ShopName{ get; set; }
public Transaction Transaction { get; set;}
}
As модели указывают, что "shop_id" - это внешний ключ.
Итак ... У меня нет ссылки на транзакцию в моей сущности магазина. Кроме того, в моем производительном сценарии у меня есть некоторые необязательные отношения, такие как это, например, значение shop_id будет нулевым
Как бы я указал необязательное отношение к моему конструктору моделей?
С уважением