.然后包含在规范模式中,EF Core

问题描述

任何人都可以指导我如何在规范模式中添加 .ThenInclude(s) ;我正在使用实体框架核心。

我有下面的 .Include 代码,它正在工作。

public interface ISpecification<T>
{
    Expression<Func<T,bool>> Criteria { get; }
    List<Expression<Func<T,object>>> Includes { get; }
}

public abstract class BaseSpecification<T> : ISpecification<T>
{
    protected BaseSpecification(Expression<Func<T,bool>> criteria)
    {
        Criteria = criteria;
    }
    public Expression<Func<T,bool>> Criteria { get; }
    public List<Expression<Func<T,object>>> Includes { get; } = new List<Expression<Func<T,object>>>();
    public List<string> IncludeStrings { get; } = new List<string>();

    protected virtual void AddInclude(Expression<Func<T,object>> includeExpression)
    {
        Includes.Add(includeExpression);
    }
}

}

任何帮助将不胜感激。

解决方法

找到了解决上述问题的方法。下面是解决方案。在 BaseSpecification 类中添加

protected virtual void AddInclude(string includeString)
{
    IncludeStrings.Add(includeString);
}

之后在规范过滤器中使用如下所示的然后包含。

 AddInclude("Contacts.PrefixTitle");

这将包括主要类别中的联系人,即我案例中的帐户,然后包括联系人,然后是 PrefixTitle

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...