1

我想将其转换为泛型类型:

using System.Linq.Expression
using System.Collections.Generic

public IQueryable<T> AllIncluding(
                          params Expression<Func<T, object>>[] includeProperties)
{
    IQueryable<T> query = All;
    foreach (var includeProperty in includeProperties)
    {
        // query = query.Include(includeProperty);
    }
    return query;
}

但这似乎不起作用,我该怎么做?

4

2 回答 2

2

Include方法仅在 上可用,DbQuery<T>因此您必须使用直接转换或as操作数将查询转换为它,或使用方法DbExtensions.Include

public IQueryable<T> AllIncluding(
    params Expression<Func<T, object>>[] includeProperties)
{
    IQueryable<T> query = All as DbQuery<T>;
    if (query == null)
    {
       return All;
    }

    foreach (var includeProperty in includeProperties)
    {
        // query = query.Include(includeProperty);
    }
    return query;
}
于 2012-06-01T15:46:33.217 回答
1

添加一个使用 for System.Data.Entity;

Entity Framework 4.1 包括强类型版本:http Include: //msdn.microsoft.com/en-us/library/gg671236 (VS.103).aspx

这是一种扩展方法。

于 2012-06-01T15:39:11.647 回答