在linq中创建实体的.Include()列表

时间:2010-09-10 17:18:27

标签: entity-framework linq-to-entities

我有很长的清单:

.Include("x")
.Include("y")
.Include("z")
.Include("z.w")
.Include("z.v")

我想在三个不同的查询中使用此列表。如何将这些列表放在列表中并在我的所有查询中使用该列表,以免重复自己。

1 个答案:

答案 0 :(得分:5)

尝试:

public static class MyQueryHelpers
{
    public static ObjectQuery<Foo> MyIncludes(this ObjectQuery<Foo> query)
    {
        return query.Include("x")
                    .Include("y")
                    .Include("z")
                    .Include("z.w")
                    .Include("z.v");
    }
}

现在使用它:

var q = from f in Context.Foos.MyIncludes()
        select f;