Я использую. NET ядро для разработки API-интерфейса платформы сущностей. Я получаю эту ошибку:
В этом фрагменте возникает ошибка.
public async Task<Country> Find(long key)
{
return await _context.Country.Include(m => m.Zone)
.FirstOrDefaultAsync(t => t.Id == key);
}
Если я удаляю предложение include ошибка исчезает.
public class Country
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Name { get; set; }
public string Initials { get; set; }
public int ZoneId { get; set; }
[NotMapped]
public virtual Zone Zone { get; set; }
}
public class Zone
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Name { get; set; }
}
CREATE TABLE country (
id INTEGER PRIMARY KEY AUTOINCREMENT
UNIQUE
NOT NULL,
name STRING (20) NOT NULL,
initials STRING (4) NOT NULL,
zoneId INTEGER NOT NULL
CONSTRAINT [country.zone] REFERENCES zone (id)
);
CREATE TABLE zone (
id INTEGER PRIMARY KEY AUTOINCREMENT
UNIQUE
NOT NULL,
name STRING (20) NOT NULL
);
Ps: интенсивность использования включения должна быть в состоянии загрузить всю сущность зоны (id, name, ...) данной страны