У меня есть база данных, в которой я смоделировал данные в нескольких строках таблицы с именем Bets
, заполнив первые четыре строки числом 1
, а следующие четыре строки числом 2
. Существует таблица Team
со строками команд, соответствующими идентификаторам 1
и 2
.
Я использую .NET Core 2.1.0 и EF Core 2.1.0 с базой данных SQLite. Существует класс Bet
с отношением многие-к-одному к классу Team
. Они выглядят следующим образом:
public class Bet
{
public int Id { get; set; }
public int TeamId { get; set; }
public Team Team { get; set; }
}
public class Team
{
public int Id { get; set; }
public string Name { get; set; }
}
Для доступа к данным я использую этот синтаксис:
public class BettingDbContext : DbContext
{
public BettingDbContext(DbContextOptions<BettingDbContext> options)
: base(options) { }
public virtual DbSet<Bet> Bets { get; set; }
public virtual DbSet<Team> Teams { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Bet>(entity =>
{
entity.ToTable("Bets");
entity.HasIndex(e => e.Id)
.IsUnique();
entity.HasOne(b => b.Team)
.WithOne();
});
modelBuilder.Entity<Team>(entity =>
{
entity.ToTable("Teams");
entity.HasIndex(e => e.Id)
.IsUnique();
});
}
}
Когда я получаю обратно результаты, каждую секунду строка имеет null
, установленное в его реляционное свойство Team
. Вот некоторый вывод из непосредственного окна:
> bets[0].Team
(null)
> bets[1].Team
{betting.DAL.Primitives.Team}
Id: 1
Name: "Uruguay"
> bets[2].Team
(null)
> bets[3].Team
{betting.DAL.Primitives.Team}
Id: 1
Name: "Uruguay"
> bets[4].Team
(null)
> bets[5].Team
{betting.DAL.Primitives.Team}
Id: 2
Name: "Russia"
> bets[6].Team
(null)
> bets[7].Team
{betting.DAL.Primitives.Team}
Id: 2
Name: "Russia"
>
Есть идеи, что может вызвать это?