表达式拼接Expression> predicate

时间:2023-12-21 10:13:14
        /// <summary>
/// 重写以筛选出当前上下文的实体映射信息
/// </summary>
protected override IEnumerable<IEntityMapper> EntityMappersFilter(IEnumerable<IEntityMapper> entityMappers)
{
Type contextType = typeof(TDbContext);
Expression<Func<IEntityMapper, bool>> predicate = m => m.DbContextType == contextType;
if (contextType == typeof(DefaultDbContext))
{
predicate = predicate.Or(m => m.DbContextType == null);
}
return entityMappers.Where(predicate.Compile());
}