考虑以下代码:
foreach (Type formType in allFormsToLoopThrough)
{
var nonPriorityForm = _context.Query(formType);
foreach (var nonpriority in nonPriorityForm)
{
var name = nonpriority.GetType().Name;
MyWorkAssignmentDTO form = new MyWorkAssignmentDTO
{
FormName = formType.Name
Id = nonpriority.Id
};
}
}
此代码段循环了一系列类型。 每种类型都从列表中获取,并传递给Query函数,该函数返回IQueryable-本质上是数据库中给定表中与该类型匹配的记录列表。
然后对于每个返回的记录集,我想遍历这些记录集,并从每个记录集中创建MyWorkAssignmentDTO的新实例。我只对表单名称感兴趣(可以从formType获得),但我不能获得nonpriority.Id
我确定每个非优先级在循环中解析后都会有一个ID。 我不能做的就是在运行时实现它。
有人可以帮忙吗?
答案 0 :(得分:0)
我能够使用 dynamic 关键字而不是var。虽然我失去了编译时验证,但是当我确定会有一个ID时,这使我越过线。
dynamic nonPriorityForm = _context.Query(formType);