如何将所有关系包含在实体框架6中?

安娜·斯莫罗迪诺娃(Anna Smorodinova)
Items = new ObservableCollection<CompanyContact>(
                        db.CompanyContacts
                        .Include(p => p.Facility)
                        .Include(p => p.Company)
                        .Include(p => p.Manager)
                        .OrderBy(s => s.Name)
                        .ToList<CompanyContact>()
                    );

有没有更优雅的书写方式?我想在表中包括所有关系。IncludeAll什么?谢谢!

八叶球菌

EF没有包含所有导航属性的方法。如果您需要全部加载它们,则别无选择,只能为要加载的每个导航属性调用所有包含。稍微更优雅的解决方案可以使用以下扩展方法之一:

public static class IQueryableExtensions
{
    public static IQueryable<TEntity> GetAllIncluding<TEntity>(this IQueryable<TEntity> queryable, params string[] includeProperties)
    {
        return includeProperties.Aggregate(queryable, (current, includeProperty) => current.Include(includeProperty));
    }

    public static IQueryable<TEntity> GetAllIncludingWithFunc<TEntity>(this IQueryable<TEntity> queryable, params Expression<Func<TEntity, object>>[] includeProperties)
    {
        return includeProperties.Aggregate(queryable, (current, includeProperty) => current.Include(includeProperty));
    }
}

例如,使用第一种方法,您的查询将如下所示:

db.CompanyContacts.GetAllIncluding("Facility","Company", "Manager").OrderBy(s => s.Name).ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何避免在实体框架模型中获得所有关系

如何将存档的所有对象包含在共享对象中?

是否有关于如何将 kubernetes 服务名称包含在微服务中的推荐做法?

如何通过实体框架获取表的所有关系列表?

如何指定包含在实体框架中的位置

如何将模块的所有内容包含在另一个模块中(在Electron JS中)

从包含在列表中的关系中获取所有节点

实体框架列表包含在lambda中

至少包含在实体框架中

实体框架核心:包含在 TPH 中

如何使用 Hibernate 在 Spring Boot 中查询实体的所有关系对象?

如何从只有1个包含所有关系的多个mysql表中获取结果

如何从单行包含所有关系的csv文件中获取Relationshipdata?

如何将所有带有批处理文件移动的文件登录到文本文件中,并且目标目录包含在日志中?

如何将所有者更改为文件夹中的当前用户,并将其包含在主目录中?

如何将窗口作为有效道具包含在PropTypes中?

如何使用Eclipse将所有图像包含在jar文件中

如何将所有Jenkins作业显示在一个视图中,即使它们包含在文件夹中?

如何在实体框架中执行SqlSqlCommand而不将其包含在事务中

如何将jar文件包含在Scala代码中

如何将这个 svg 包含在 react 组件中?

我如何将SASS mixin包含在变量中?

如何将制表符分隔的文件插入到带有关系的mysql中

如何将数据插入具有关系的2个表中

如何列出所有未包含在提交中的标记?

将具有关联关系的实体添加到jhipster中的现有实体

自动将目标文件夹中的所有脚本包含在运行的脚本中-CS6

实体框架急切加载然后包含在集合中

网络核心:实体框架然后包含在Projection Select中