0

VS2010 Beta 2 に付属する Entity Framework v4 を使用して、私が遊んでいる非常に単純なリポジトリがあります。

ユーザーがオプションで要求した場合、Include メソッドを動的に含めようとしています。

例えば。

Public IQueryable<Foo> GetFoos(bool includeBars)
{
    var entites = new Entities("... connection string ... ");

    var query = from q in entities.Foos
                select q;

    if (includeBars)
    {
        // THIS IS THE PART I'M STUCK ON.
        // eg. query = from q in query.Include("Bars") select q;
    }

    return (from q in query
            select new Core.Foo
            {
                FooId = q.FooId,
                CreatedOn = q.CreatedOn
            });
 }

誰でも助けてもらえますか?

4

1 に答える 1

3

IQueryable から ObjectQuery に「クエリ」をキャストする必要があります。

query = from q in ((ObjectQuery<Foo>)query).Include("Bars") select q;

linq クエリ内でキャストを行うのが良い考えかどうかはわかりませんが、何をする必要があるかは理解できると思います。

于 2009-11-23T09:09:21.603 に答える