[英]Can I achieve dynamic object with dynamic fields from db in ASP.NET C#
我知道 GraphQL 是一个解决方案,但我想知道还有其他方法可以解决,因为我希望此功能只是替换 DB 调用,我只需要指定需要哪些对象及其字段并获取这些数据。 我不想要 graphQL API。
例如:我有表 A、B 和 C,如果我有表 B 和 C 的主键作为表 A 中的外键。
假设我是查询表 A 数据,Id 为 1,然后我还可以包含表 c 的数据,该表与表 A id 1 链接在同一个查询中,使用include(x => x.tableC)
。 例如:-
db.Where<TableA>(x => x.id.equals(id)).include(x => x.tablec);
现在我的要求就像要包含的数据可以是动态的,它可以是TableB(FieldA, FieldB)
也可以是TableC(FieldA), TableB(FieldA, FieldB)
或只有TableC(FieldD)
。
据此,我想要结果
而这件事要包含的内容将在一个变量中
据我了解你的问题; 并假设您将关系存储在变量中,以便您可以链接include
:
像这样的东西:
//Lets say TableA has relation with tableB and tableC
List<string> tableARelations = new List<string>()
{
"tableB",
"tableC"
}
using (var dbContext = GetDbContext())
{
var query = dbContext.TableA.AsQueryable();
foreach (string include in tableARelations)
{
query = query.Include(include);
}
var result = query.Where(x => x.Id.Equals(id)).FirstOrDefault();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.