#c# #asp.net-mvc #entity-framework #code-first #dbcontext
#c# #asp.net-mvc #entity-framework #сначала код #dbcontext
Вопрос:
Модели:
public class School
{
public int ID {Get;set;}
public string SchoolName {get;set;}
public virtual ICollection<Room> Rooms {get;set;}
}
public class Room
{
public int ID {get;set;}
public string RoomName {get;set;}
public int SchoolID {get;set;}
[ForeignKey("SchoolID")]
public virtual School School {get;set;}
public virtual ICollection<Computer> Computers {get;set;}
}
public class Computer
{
public int ID {get;set;}
public string ComputerName {get;set;}
public int RoomID {get;set;}
[ForeignKey("RoomID")]
public virtual Room Room {get;set;}
}
Итак, у меня есть объект Computer и я пытаюсь получить доступ к названию школы, например:
Computer myComp = context.Computers.FirstOrDefault();
string SchoolName = myComp.School.SchoolName;
И я получаю взамен нулевой объект. Может кто-нибудь указать мне правильное направление относительно того, почему это не работает?
Ответ №1:
При запросе вашего объекта вам необходимо конкретно указать Entity Framework, что вы хотите включить связанный объект. Вот как вы можете это сделать, используя Include:
Computer myComp = context.Computers.Include(c => c.School).FirstOrDefault();
Убедитесь, что вы включили пространство имен, в котором находится этот метод:
using System.Data.Entity;