Entity Framework Code Сначала не ленивая загрузка после сохранения

У меня есть таблица поиска и таблица данных в моей базе данных. Я буду использовать пол и человека для примера. Допустим, таблица полов выглядит вот так:

Id         Code
1          Male
2          Female

и таблица лиц выглядит так:

Id         Name             GenderId
1          Bob              1
2          Jane             2

Сначала я смоделировал обе таблицы в коде EF вот так:

public class Gender
{
    public int Id {get;set;}
    public string Code {get;set;}
}

public class Person
{
    public int Id {get;set;}
    public string Name {get;set;}
    public int GenderId {get;set;}

    public virtual Gender {get;set;}
}

Если я читаю человека, уже находящегося в БД, я могу без проблем получить доступ к person.Gender.Code. Если я сделаю это:

var person = new Person
             {
                 Name = "Bob",
                 GenderId = 1,
             };

context.People.Add(person);
context.SaveChanges();

var code = person.Gender.Code;

Затем он сохранится правильно, но в последней строке произойдет сбой, поскольку пол равен нулю. Если я затем открою новый контекст и загружу сохраненный объект, то последняя строка будет работать нормально. Есть ли способ получить доступ к полу сразу после сохранения, как если бы я только что загрузил сущность из БД?

5
задан VARAK 14 June 2012 в 06:35
поделиться