【问题标题】:Dynamically specifying "include" for Entity Framework queries为实体框架查询动态指定“包含”
【发布时间】:2011-10-31 14:03:27
【问题描述】:

我正在尝试将 List<string> 传递给一个方法,该方法将接受它并使用它来创建要在实体框架查询中使用的包含语句列表。

例如:

List<string> myIncludes = new List<string>();
myIncludes.Add("myObject.FirstRelatedObject");
myIncludes.Add("myObject.SecondRelatedObject");

我想使用这个列表来动态地获得以下内容:

var myQry = objectContext.object.Include(myIncludes[0]).Include(myIncludes[1]);

我该怎么做呢?我正在使用 predicateBuilder 生成语句的“where”部分,但我认为这与“Include”部分不同。

【问题讨论】:

    标签: c# entity-framework predicate


    【解决方案1】:

    您可以尝试这样的事情(谓词是您的 PredicateBuilder):

    var includes = new List<string>() { "Include1, Include2" };
    
    var query = this.Context.Campos;
    
    foreach(var s in includes)
        query.Include(s);
    
    var result = query.Where(predicate.Expand());
    

    【讨论】:

    • 非常正确...我想我一直专注于创建谓词,以至于我没有看到摆在我面前的简单解决方案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多