Я действительно новичок в EF (использую ядро EF 2.1) и до сих пор читал кучу учебников, но теперь я рискнул создать собственную структуру БД и оступился, пытаясь добавить значение в БД.:
private async Task<int> Insert()
{
var address = new Address { AddressLine1 = "1 any street", AddressLine2 = "", AddressLine3 = "", City = "Any city" };
using (var context = new BranchContext())
{
context.Addresses.AddAsync(address);//ERROR HERE
....
}
}
Я получаю сообщение об ошибке:
InvalidOperationException: свойство Branch.Address имеет тип «Адрес», который не поддерживается текущим поставщиком базы данных.Либо измените тип свойства CLR, либо игнорируйте свойство с помощью атрибута [NotMapped] или с помощью EntityTypeBuilder.Ignore в OnModelCreating.
Я создал следующие классы:
public class Address
{
public int Id { get; set; }
public int Guid { get; set; }
public DateTime CreatedOn { get; set; }
public string Number { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string AddressLine3 { get; set; }
public string Town { get; set; }
public string City { get; set; }
public string Postcode1 { get; set; }
public string Postcode2 { get; set; }
public string Latitude { get; set; }
public string Longitude { get; set; }
}
public class Branch
{
public string Id { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
public IEnumerable<EmployeeBranch> Employee { get; set; }
public bool IsMain { get; set; }
}
public class Employee
{
public int Id { get; set; }
public string Guid { get; set; }
public string EmailAddress { get; set; }
public JobTitle JobTitle { get; set; }
public DateTime DateOfBirth { get; set; }
public IEnumerable<EmployeeBranch> Branches { get; set; }
public Branch PrimaryBranch { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PreferredName { get; set; }
public Salutations Salutation { get; set; }
}
public enum Salutations
{
Mr = 1,
Mrs = 2,
Miss = 3,
Ms = 4
}
public class EmployeeBranch
{
public int BranchId { get; set; }
public Branch Branch { get; set; }
public int EmployeeId { get; set; }
public Employee Employee { get; set; }
}
public class JobTitle
{
public int Id { get; set; }
public string Guid { get; set; }
public string Name { get; set; }
}
Затем я запустил:
Add-Migration init
Update-Database
Было создано следующее:
![DB structure](https://i.stack.imgur.com/Pb8yR.png)
Для ясности этоошибка во время выполнения, я видел пару потоков, которые получают эту ошибку, когда они пытаются обновить свои БД здесь и здесь , но их обсуждения не указали мне правильное направление (возможно, яя упускаю очевидное).
Как мне решить эту проблему?Желательно без изменения структуры, хотя я рад, если есть веская причина для этого