Ошибка Z.EntityFramework.Plus MemberInitExpression - PullRequest
0 голосов
/ 18 мая 2018

Я получаю следующую ошибку, используя

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);
    }
...