动态指定"include"用于实体框架查询

本文关键字:quot 实体 框架 查询 用于 include 动态 | 更新日期: 2023-09-27 18:13:06

我正试图将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"部分是一回事。

动态指定"include"用于实体框架查询

您可以尝试这样做(其中谓词是您的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());