У меня есть таблица поиска и таблица данных в моей базе данных. Я буду использовать пол и человека для примера. Допустим, таблица полов выглядит вот так:
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;
Затем он сохранится правильно, но в последней строке произойдет сбой, поскольку пол равен нулю. Если я затем открою новый контекст и загружу сохраненный объект, то последняя строка будет работать нормально. Есть ли способ получить доступ к полу сразу после сохранения, как если бы я только что загрузил сущность из БД?