热切加载 List 导航属性

2023-12-02

使用 EF Code First 并给定一个包含列表的实体,我如何快速加载该实体的整个对象图:

Example:

public class Foo
{
    public int Id { get; set; }

    public List<BarBase> Bars { get; set; }
}    

public class BarBase
{
    public int Id { get; set; }

    public string Text { get; set; }
}

public class BarTypeA : BarBase
{
    public List<Baz> Bazes { get; set; }
}    

public class BarTypeB : BarBase
{
    public List<Quux> Quuces { get; set; } { get; set; }
}   

If BarBase不是可以包含多个不同子类型实例的基类,我可以使用

.Include("Bars").Include("Bars.Bazes")

If I try

.Include("BarBase").Include("BarBase.Bazes").Include("BarBase.Quuces") 

我收到错误

指定的包含路径无效。 EntityType 'BarBase' 确实 不声明名为“Bazes”的导航属性。

但我该如何处理这种情况Bars可以包含不同的具体类型,并且我想急切地加载所有这些实例,包括List<T>包含那些具体类型?


This is 报告的问题EF目前没有解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

热切加载 List 导航属性 的相关文章

  • EF4.1 多个嵌套实体 Includes 获取 NotSupportedException?

    编辑 根据测试更新了问题描述 2011 年 9 月 12 日 每当我调用 ToList 时 我的查询都会抛出 NotSupportedException 不支持指定的方法 IQueryable
  • 如何使用 ASP.net EF Codefirst 数据注释将 SQL Server 中的列设置为 varchar(max)?

    我一直在网上搜索 试图找出正确的语法 让 Entity Framework Code First 使用一列创建表 varchar max 这就是我所拥有的 默认情况下 这会创建 varchar 128 如何创建 varchar max 我尝
  • 使用 wcf ria 时有没有办法选择性地跳过 silverlight 字段验证?

    我有一个 可能很常见 的情况 我想重用同一个类来添加新实体并在我的 silverlight 应用程序 SL4 WCF RIA EF4 Linq to Entities 中编辑现有实体 添加新验证器时 我希望自定义验证器检查唯一性 如果不唯一
  • 在将所有导航属性加载(惰性或急切)到内存之前对其进行过滤

    对于未来的访问者 对于 EF6 您最好使用过滤器 例如通过此项目 https github com jbogard EntityFramework Filters https github com jbogard EntityFramewo
  • 实体框架代码首先保存后不延迟加载

    我的数据库中有一个查找表和一个数据表 我将使用性别和人物作为例子 假设性别表如下所示 Id Code 1 Male 2 Female 人员表如下所示 Id Name GenderId 1 Bob 1 2 Jane 2 我首先在 EF 代码中
  • 实体框架代码优先 - 外键约束问题

    我是 EF 代码优先主体的新手 目前不知道该怎么做 我有 2 个 POCO 类 public class Problem public int ProblemID get set public int UserID get set publ
  • 使用实体框架、代码优先方法解决结构问题

    我目前正在使用 EF 和代码优先方法从现有系统构建数据库 最好对 核心 类进行最小的更改 因此 我想找到 Structs 和 EF 的解决方法 是否可以以任何方式将 Struct 包装到类中 以便 EF 可以使用此 Struct 中的数据
  • EF4 中的 Datetime2 转换

    好吧 在花了无尽的时间谷歌搜索答案之后 我必须在这个问题上添加另一个问题 我有一个包含 2 个日期时间字段的表 由 VS 2010 中的 EF4 EDMX 设计器生成 SQL 2008 中生成的字段是 datetime 而不是 dateti
  • 在 MVC3 Razor 视图中引用 EntityFramework 4.1 命名空间

    我试图在我的 MVC3 项目中的共享视图内引用 System Data Entity Validation EF 4 1 版本 命名空间 我已经能够使用以下方式引用其他外部库 using Example Namespace 然而 当涉及到作
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 实体框架层次结构的代码优先映射

    我有一个看起来像这样的模型 public class Category public string Id get set public string Description get set public Category Parent ge
  • EF4 如何调用标量 UDF

    我试图从实体框架调用 SQL Server 中的标量 UDF 它显示在 商店 部分的模型浏览器中 任何帮助表示赞赏 In the EDMX File it shows up in the storage model
  • 简单注入器:跨同一图的服务注入相同的 UnitOfWork 实例

    我有多个服务 每个服务都有一个UnitOfWork使用注入到构造函数中简易注射器 http simpleinjector codeplex com国际奥委会容器 目前我可以看到每个UnitOfWork实例是一个单独的对象 这很糟糕 因为我使
  • 实体框架 - sql server 表中未设置默认值

    SQL Server 2005 数据库表有一列 createdon 其默认值设置为 getdate 我正在尝试使用实体框架添加记录 createdon 列未更新 我是否错过了实体框架中的任何属性 请提出建议 这是实体框架存在的少数问题之一
  • 如何检查 EntityTypeConfiguration 实例的成员配置?

    我正在使用 Entity Framework Code First 和继承自 EntityTypeConfiguration 的映射类 我这样做是为了封装我使用 Code First Fluent API 来配置实体的方法 我希望能够检查这
  • 实体框架代码优先:如何手动更新数据库?

    我构建了一个小型 WPF 演示应用程序 它使用 EF Code First 将其数据保存在 SQL CE 4 0 DB 中 除非我从模型对象中删除属性 否则它工作正常 例如 如果我从此类中删除 HosteBy public class Di
  • 使用结构体代替 EF4 属性类型的原语

    我有一个包含 int 位掩码的 EF4 实体 代码优先 我创建了一个 Bitmask 结构 以便更轻松地使用位掩码 提供 bool 属性来访问位 位掩码结构包括用于与 int 相互转换的重载隐式运算符 我尝试将属性类型设置为位掩码结构 但该
  • 使用更新的值重新加载实体框架上下文中的对象

    我有一个从数据库中提取的 EF 对象 然后 我通过使用另一个函数调用来更新数据库中的相应行DBContext 在此更新之后 我想使用更新后的内容重新加载对象的内容 但是 EF 上下文似乎缓存了这些内容 这是代码示例 我删除了一些不相关的内容
  • 可空可选参数

    我在 asp net mvc 应用程序中使用带有 edmx 文件和 POCO 的实体框架 4 首先 我有一个映射到数据库中的表的人员类 public class Person public Int32 ID get set public s
  • 实体框架和数据库集

    我正在尝试设置一个通用接口来从存储库中检索实体 问题是我需要从 WCF 服务请求数据 而据我所知 泛型不能与操作合约一起使用 所以我有这个在控制台应用程序中工作 而不是使用服务调用 public virtual List

随机推荐