Asp.net mvc 从数据库检索时,模型是否包含空值?

Asp.net mvc 从数据库检索时,模型是否包含空值?,asp.net-mvc,database,entity-framework,Asp.net Mvc,Database,Entity Framework,假设我的模型中有三个类(省略id等): 公共类Foo(){ 公共条{get;set;} 公共列表{get;set;} } 公共类律师(){ 公共列表Foos{get;set;} } 公共Baz(){ } 当我创建Foo并通过create视图将其保存到model时,它包含了其中的所有对象。但当我从数据库中检索它时,它包含空值。存储Foo的表不包含Bar和Baz的列。然而,Bar和Baz的表确实包含一个Foo_Id列,这很好,因为Entity Framework会自动处理这些映射 但为什么从数据库

假设我的模型中有三个类(省略id等):

公共类Foo(){
公共条{get;set;}
公共列表{get;set;}
}
公共类律师(){
公共列表Foos{get;set;}
}
公共Baz(){
}
当我创建Foo并通过create视图将其保存到model时,它包含了其中的所有对象。但当我从数据库中检索它时,它包含空值。存储Foo的表不包含Bar和Baz的列。然而,Bar和Baz的表确实包含一个Foo_Id列,这很好,因为Entity Framework会自动处理这些映射


但为什么从数据库检索时会得到空值?我对另一个模型做了完全相同的事情,效果很好

在字段完成操作之前添加一个
虚拟

更新型号:

public class Foo() {
  public virtual Bar Bar {get; set;}
  public virtual List<Baz> Bazs {get; set;}
}

public class Bar() {
  public virtual List<Foo> Foos {get; set;}
}

public Baz() {

}
公共类Foo(){
公共虚拟条{get;set;}
公共虚拟列表{get;set;}
}
公共类律师(){
公共虚拟列表Foos{get;set;}
}
公共Baz(){
}
public class Foo() {
  public virtual Bar Bar {get; set;}
  public virtual List<Baz> Bazs {get; set;}
}

public class Bar() {
  public virtual List<Foo> Foos {get; set;}
}

public Baz() {

}