将其转换为聚合函数

时间:2015-11-30 03:44:51

标签: c# entity-framework aggregate eager-loading

我正在使用存储库模式+实体框架来处理我正在进行的小项目。出于性能原因,我需要减少延迟加载,但现在我还需要在我的db提取中包含子实体。我目前的(工作)解决方案就是:

    protected MediaDbEntities MediaDb { get { return db ?? (db = DatabaseFactory.Get()); } }

    public virtual IEnumerable<T> All(string[] childEntities = null)
    {
        var query =  MediaDb.Set<T>();
        foreach (var childEntity in childEntities)
        {
            query.Include(childEntity);
        }
        return query.ToList();
    }

在这种情况下,我真的想探索聚合的使用,但实际上并不知道如何应用。我只使用聚合来进行求和和算术运算。任何人都有我可以学习的答案吗?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您实际上并没有聚合任何数据,因此尝试创建任何类型的聚合都是错误的答案。

您当前的解决方案没有任何问题。它完全有道理,我个人会保持原样。