LINQ TO实体:处理包含

时间:2013-09-11 06:31:27

标签: c# linq entity-framework

可能你有一个解决方案。首先它只是一个我的想法,但我想我们将来会遇到一些问题: 我们有一个businessfacade,它使用过滤器表达式处理上下文调用,我们这样说:

    List<INDIVIDUAL> IIndividual.GetIndividuals(Expression<Func<INDIVIDUAL, bool>> filterExpression)
    {
        List<INDIVIDUAL> result = null;
        this.FacadeAction(ctx =>
            {
                result = (filterExpression != null
                              ? ctx.INDIVIDUALs.Where(filterExpression)
                              : ctx.INDIVIDUALs).ToList();
                result.StartTracking();
            });
        return result;
    }

没什么特别之处:如果有表达式,请使用此过滤器获取所有个人,否则返回全部。 现在的问题是:我想包括一个案例的另一个表。所以我的想法:应该有一个可选参数,我可以添加我想要包含的表。所以我不需要x功能用于相同的权利集,但可以动态添加我想要包含的所有表。

你觉得这样的事情有可能吗?这甚至有意义吗?或者为我需要的每个权利调用外观是否更好?

感谢您的回复!

MatthiasMüller

1 个答案:

答案 0 :(得分:1)

我只需要在每次需要数据库时直接调用实体框架,而不是使用外观。否则你最终会添加Order,把函数作为参数,你的小方法最终会变得越来越大。

有趣的是,为什么你甚至使用Facade?您将来是否会更改数据访问层?