LINQ TO 实体:处理包含

本文关键字:处理 包含 实体 TO LINQ | 更新日期: 2023-09-27 18:31:02

可能你有一个解决方案。首先这只是我的一个想法,但我想我们将来会遇到一些问题:我们有一个 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;
    }

没什么特别的:如果有表达式,则使用此过滤器获取所有个体,否则返回 all。现在的问题是:我想为一个案例包含另一个表。所以我的想法:应该有一个可选参数,我可以添加我想要包含的表。所以我不需要同一个整体集的x函数,但可以动态添加我想要包含的所有表。

你认为这样的事情是可能的吗?这甚至有意义吗?还是为我需要的每个整体调用门面更好?

感谢您的回复!

马蒂亚斯·穆勒

LINQ TO 实体:处理包含

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

只是感兴趣,你为什么还要使用立面?将来是否会更改数据访问层?