我试图使用ToListAsync与一些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的情况下工作,但我需要更改代码才能使用它们 .