Я получаю следующую ошибку, используя
System.Exception: Invalid Cast. The update expression must be of type MemberInitExpression. at Z.EntityFramework.Plus.BatchUpdate.ResolveUpdateFromQueryDictValues[T](Expression`1 updateFactory)
И вот что я делаю:
public void Update(Expression<Func<CustomerConsentEntity, bool>> expression, CustomerConsentEntity entity)
{
DbContext.CustomerConsents.Where(expression).Update(x => entity);
}
public void Update(Expression<Func<CustomerConsentEntity, bool>> expression, CustomerConsentEntity entity)
{
DbContext.CustomerConsents.Where(a => a.TrackingId == Guid.Parse("4D8214D5-3D43-4A3E-9572-BCDCEA6F3BF9")).Update(x => entity);
}
public void Update(Expression<Func<CustomerConsentEntity, bool>> expression, CustomerConsentEntity entity)
{
Expression<Func<CustomerConsentEntity, CustomerConsentEntity>> updateEntity = x => entity;
DbContext.CustomerConsents.Where(expression).Update(updateEntity);
}
Я использую Z.EntityFramework.Plus и сделал этопару раз, но на этот раз, похоже, что-то не получается по какой-то странной причине.Я пробовал несколько разных способов, сохраняя при этом простоту подписи, но все они терпят неудачу.
Это работает, но не идеально:
public void Update(Expression<Func<CustomerConsentEntity, bool>> expression, Expression<Func<CustomerConsentEntity, CustomerConsentEntity>> updateExpression)
{
DbContext.CustomerConsents.Where(expression).Update(updateExpression);
}