我正在尝试使用ToListAsync和一些使用select来创建新对象列表的Linq。
using (dbContext = new MyEntities())
{
var listProjectToolFields = await (from pf in dbContext.ProjectToolFields
join c in dbContext.CustomFields on pf.CustomFieldId equals c.CustomFieldId
join pt in dbContext.ProjectTools on pf.ProjectToolId equals pt.ProjectToolId
where pt.ProjectId == projectId && pt.ToolId == toolId && !c.IsDeleted
select new ProjectToolField
{
ProjectToolFieldId = pf.ProjectToolFieldId,
ProjectId = pt.ProjectId,
ToolId = pt.ToolId,
CustomField = new CustomField
{
CustomFieldId = c.CustomFieldId,
CustomFieldName = c.CustomFieldName,
FieldGroupIds = c.FieldGroupIds
},
SequenceNo = pf.SequenceNo
}).ToListAsync();
return listProjectToolFields;
}
CustomField只是一个具有自动实现属性的简单类。
当我收到错误时:ObjectContext实例已被处理,不能再用于需要连接的操作。
但是我正在等待,所以我怎么能克服这个?我真的需要使用async,它在没有async / await的情况下工作但我需要更改代码才能使用它们。