Linq 检索没有相关表的表的记录';按实体框架划分的记录?

Linq 检索没有相关表的表的记录';按实体框架划分的记录?,linq,entity-framework-6,Linq,Entity Framework 6,当我通过EF获取表的记录时,例如 db.cities.Tolist(); 返回City表和相关表记录的所有记录,但我只想获取城市表记录 这可能吗?是的,您可以使用EF的延迟加载功能,如下所示。在任何ToList()调用之前添加此行 您还可以通过在DBContext构造函数中设置属性全局配置此行为,如下所示 public partial class SchoolDBEntities : DbContext { public SchoolDBEntities(): base("name=S

当我通过EF获取表的记录时,例如

db.cities.Tolist();
返回
City
表和相关表记录的所有记录,但我只想获取城市表记录


这可能吗?

是的,您可以使用EF的延迟加载功能,如下所示。在任何ToList()调用之前添加此行

您还可以通过在DBContext构造函数中设置属性全局配置此行为,如下所示

public partial class SchoolDBEntities : DbContext
{
    public SchoolDBEntities(): base("name=SchoolDBEntities")
    {
        this.Configuration.LazyLoadingEnabled = false;
    }    

}

是的,您可以使用EF的延迟加载特性,如下所示。在任何ToList()调用之前添加此行

您还可以通过在DBContext构造函数中设置属性全局配置此行为,如下所示

public partial class SchoolDBEntities : DbContext
{
    public SchoolDBEntities(): base("name=SchoolDBEntities")
    {
        this.Configuration.LazyLoadingEnabled = false;
    }    

}

实体框架支持3种加载相关数据的方式——即时加载、延迟加载和显式加载

在您的情况下,您可以选择延迟加载或显式加载

默认情况下启用了延迟加载,因此在访问相关属性之前,不会从数据库中提取相关属性的数据

显式加载,首先需要禁用延迟加载:

public class DatabaseContext : DbContext 
{ 
    public DatabaseContext() 
    { 
        this.Configuration.LazyLoadingEnabled = false; 
    } 
}
然后可以使用
load()
加载相关实体


假设cities表引用Buildings表。

实体框架支持3种加载相关数据的方法-即时加载、延迟加载和显式加载

在您的情况下,您可以选择延迟加载或显式加载

默认情况下启用了延迟加载,因此在访问相关属性之前,不会从数据库中提取相关属性的数据

显式加载,首先需要禁用延迟加载:

public class DatabaseContext : DbContext 
{ 
    public DatabaseContext() 
    { 
        this.Configuration.LazyLoadingEnabled = false; 
    } 
}
然后可以使用
load()
加载相关实体

假设城市表是指建筑物表