EF6: индивидуальное сохранение, но не загрузка объекта - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь настроить EF 6 для сопоставления отношений один-к-одному. Вот код, который я использую:

public class Operacao
{        
    public int ID { get; set; }
    public string Descricao { get; set; }
    public virtual Analise Analise { get; set; }
}
public class Analise
{
    [ForeignKey("Operacao")]
    public int Id { get; set; }
    public virtual Operacao Operacao { get; set; }
    public int Valor { get; set; }
}

Вот код для класса контекста:

public class PRODERAMContext:DbContext
{
    public DbSet<Operacao> Operacoes { get; set; }
    public PRODERAMContext()
        :base("some_cnn_string")
    {
        //just to be sure...
        this.Configuration.LazyLoadingEnabled = false;
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        // Configure StudentId as FK for StudentAddress
        modelBuilder.Entity<Operacao>()
                    .HasRequired(s => s.Analise)
                    .WithRequiredPrincipal(ad => ad.Operacao);

    }
}

Предыдущий код заканчивается генерацией следующих таблиц на моей базе данных:

Generated tables

Вставка нового элемента работает без проблем. Проблема возникает при загрузке:

using (PRODERAMContext db = new PRODERAMContext())
{
    //db.Configuration.LazyLoadingEnabled = false;
    op = db.Operacoes.FirstOrDefault();
    //op.Analise always null
}

Я не уверен почему, но EF никогда не гидратирует свойство Analise из таблицы Analise.

Я пытался следовать этому учебнику , но я не могу заставить его работать. Я наверняка что-то пропустил, но что?

...