Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
namespace AutoLot.Models.Entities{ [Table("CreditRisks", Schema = "dbo")] public partial class CreditRisk : BaseEntity { public Person PersonalInformation { get; set; } = new Person(); public int CustomerId { get; set; } [ForeignKey(nameof(CustomerId))] [InverseProperty("CreditRisks")] public virtual Customer Customer { get; set; } }}Исправьте навигационное свойство, для чего удалите модификатор
virtualnameof[InverseProperty]Navigation<b>[ForeignKey(nameof(CustomerId))]</b><b>[InverseProperty(nameof(Customer.CreditRisks))]</b><b>public Customer? CustomerNavigation { get; set; }</b>Финальное изменение заключается в добавлении свойства с типом принадлежащего сущностного класса. Отношение будет позже сконфигурировано посредством Fluent API.
public Person PersonalInformation { get; set; } = new Person();Итак, сущностный класс
CreditRiskСущность Order
Для таблицы
OrdersOrderusingusing System;using System.ComponentModel.DataAnnotations.Schema;using AutoLot.Models.Entities.Base;using Microsoft.EntityFrameworkCore;Унаследуйте класс
OrderBaseEntityIdTimeStamp#pragma nullable disable[Table]namespace AutoLot.Models.Entities{ [Table("Orders", Schema = "dbo")] [Index(nameof(CarId), Name = "IX_Orders_CarId")] [Index(nameof(CustomerId), nameof(CarId), Name = "IX_Orders_CustomerId_CarId", IsUnique = true)] public partial class Order : BaseEntity { public int CustomerId { get; set; } public int CarId { get; set; } [ForeignKey(nameof(CarId))] [InverseProperty(nameof(Inventory.Orders))] public virtual Inventory Car { get; set; } [ForeignKey(nameof(CustomerId))] [InverseProperty("Orders")] public virtual Customer { get; set; } }}К именам навигационных свойств
CarCustomerNavigationCarCarInventorynameofCar.OrdersInventory.OrdersCustomernameofInversePropertynullvirtual[ForeignKey(nameof(CarId))][InverseProperty(nameof(<b>Car</b>.Orders))]public <b>Car?</b> Car<b>Navigation</b> { get; set; }[ForeignKey(nameof(CustomerId))][InverseProperty(<b>nameof(Customer.Orders)</b>)]public Customer? CustomerNavigation { get; set; }На этом сущностный класс
OrderНа заметку! В данный момент проект должен нормально компилироваться. Проект
AutoLot.DalApplicationDbContextСущность SeriLogEntry
База данных нуждается в дополнительной таблице для хранения журнальных записей. В проектах ASP.NET Core из части VIII будет применяться инфраструктура ведения журналов SeriLog, и один из вариантов предусматривает помещение журнальных записей в таблицу SQL Server. Хотя таблица будет использоваться через несколько глав, имеет смысл добавить ее сейчас.
Эта таблица не связана ни с одной из остальных таблиц и не задействует класс
BaseEntityEntitiesSeriLogEntry.csusing System;