【发布时间】:2021-01-26 12:17:14
【问题描述】:
我正在使用 Net core,并且正面临这个著名的问题,我有这个示例:
var model = await context.MethAppointementsPreventifs
.FirstOrDefaultAsync(item => item.StartDate >= DateTodelete
&& item.IdOperation == XpertHelper.IdOperation);
if (model != null)
{
var OpInfos = await context.MethOperations.AsNoTracking()
.FirstOrDefaultAsync(item => item.Idoperation == model.IdOperation);
context.MethAppointementsPreventifs.Remove(model);
await context.SaveChangesAsync();
}
当我得到我的“模型”和“OpInfos”时,没有设置上下文或抛出异常,但在以下行中:
context.MethAppointementsPreventifs.Remove(model);
它抛出异常,我的方法不返回异步 void:
public static async Task<int> ClearAppPreventif(KBFsteelContext context)
{
//clear from the day of intervention
var DateTodelete = XpertHelper.DateIntervention;
bool IsStill = true;
while (IsStill)
{
var model = await context.MethAppointementsPreventifs
.FirstOrDefaultAsync(item => item.StartDate >= DateTodelete && item.IdOperation == XpertHelper.IdOperation);
if (model != null)
{
var OpInfos = await context.MethOperations.AsNoTracking().FirstOrDefaultAsync(item => item.Idoperation == model.IdOperation);
context.MethAppointementsPreventifs.Remove(model);
await context.SaveChangesAsync();
if (OpInfos.Unité == 1)
{
var newDayDate = DateTodelete.AddDays(OpInfos.Fréquence);
DateTodelete = newDayDate;
}//jours
if (OpInfos.Unité == 2)
{
var newDayDate = DateTodelete.AddMonths(OpInfos.Fréquence);
DateTodelete = newDayDate;
}//Mois
if (OpInfos.Unité == 3)
{
var newDayDate = DateTodelete.AddYears(OpInfos.Fréquence);
DateTodelete = newDayDate;
}//Annees
}
else
{
IsStill = false;
}
}
return 1;
}
我用 await 调用它...那我该怎么办?
【问题讨论】:
标签: c# .net asp.net-mvc .net-core asp.net-core-mvc