ABP 在 EntityFramework 中使用扩展批量更新时的异常
报错信息:Invalid Cast. The update expression must be of type MemberInitExpression.
直译结果:无效的。更新表达式必须是MemberInitExpression类型。
下面是报错对应的写法:
await projectsRepository.BatchUpdateAsync(x => new Projects(2), x => projectIdList.Contains(x.Id));
下面是修正后的写法:
await projectsRepository.BatchUpdateAsync(x => new Projects { Status = 2 }, x => projectIdList.Contains(x.Id));
两种写法的区别一个是使用构造函数赋值,一个是使用类的属性赋值。看起来异常会在构造函数赋值时发生,等待扩展提供方修复 BUG,在修复前先使用这个方法顶着。