如何删除代码分析警告CA1006?

时间:2012-10-09 00:58:11

标签: c# entity-framework repository-pattern

  

可能重复:
  Alternative to nested type of type Expression<Func<T>>

使用从MSDN文章收集的Facade / Repository中的方法,我制作了:

public virtual IEnumerable<TEntity> Fetch(
    Expression<Func<TEntity, bool>> filter,
    Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy,
    string includeProperties)
{
    IQueryable<TEntity> query = this.DbContext.Set<TEntity>();

    if (filter != null)
    {
        query = query.Where(filter);
    }

    if (!string.IsNullOrEmpty(includeProperties))
    {
        foreach (var includeProperty in includeProperties
            .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
        {
            query = query.Include(includeProperty);
        }
    }

    return orderBy == null 
        ? query 
        : orderBy(query);
}

代码分析会生成2个警告,如下所示:

  

CA1006:Microsoft.Design:考虑设计在哪里   &#39; MyType<TDbContext, TEntity>.Fetch(Expression<Func<TEntity, bool>>, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>, string)&#39;   没有嵌套通用类型&#39; Expression<Func<TEntity, bool>>&#39;。

     

CA1006:Microsoft.Design:考虑设计在哪里   &#39; MyType<TDbContext, TEntity>.Fetch(Expression<Func<TEntity, bool>>, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>, string)&#39;   没有嵌套通用类型&#39; Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>&#39;。

现在,我知道他们只是警告,我可以自由地压制他们(并且可能会因为他们在这种情况下显得过于迂腐)。但是,出于兴趣,是否有可能的设计与此方法完成相同而不会产生代码分析警告?

理查德

0 个答案:

没有答案