【发布时间】:2019-01-12 01:32:14
【问题描述】:
我希望 EF 查询返回一整列,但我想选择带有变量的列。可以这样做吗? IE。像这样使用变量而不是 lambda 表达式:
FieldValues = db.PbiData
.Where(x => DatasetList.Contains(x.DatasetId))
.Select(FieldName)
.ToList()
FieldName 将始终匹配 PbiData 表的列名之一。例如,第一个 FieldName 值为“Department”,下面的查询就可以正常工作:
FieldValues = db.PbiData
.Where(x => DatasetList.Contains(x.DatasetId))
.Select(x=>x.Department)
.ToList()
每个查询中的 where 子句只是将返回的数据限制为与当前用户相关的数据。
我的尝试,根据下面的评论:
foreach(var F in model.FieldMetaData)
{
if (F.FieldType == "String")
{
PbiFieldData PbiFieldData = new PbiFieldData()
{
FieldName = F.FieldName,
FieldValues = await db.PbiData.Where(x => DatasetList.Contains(x.DatasetId)).Select(F.FieldName).ToListAsync()
};
model.PbiData.Add(PbiFieldData);
};
}
【问题讨论】: