使用EF核心批量扩展时,属性的ConcurrencyCheck属性未更新数据库中的列值

时间:2018-11-15 12:32:49

标签: c# sql .net entity-framework ef-core-2.0

类:ConcurrencyCheck注释了RequestStatus列

public class Entity 
{  
    public string TicketNumber { get; set; }

    [ConcurrencyCheck]
    public string RequestStatus { get; set; }

    //Other Properties here
}

我正在使用BulkInsertUpdate EF核心方法将主要实体及其子实体更新为:

protected async Task BulkUpdate(Entity[]] entities, User user)
{
    string sessionGUID = Guid.NewGuid().ToString();
    Entity entity = entities.Where(f => f.isMainEntity == true).First();

    // validations
    if (entities.Any(f =>!string.IsNullOrEmpty(f.flag?.Trim()))
    {
        throw new Exception();
    }

     // Main Entity
    entity.ReviewerId = user.UserId;
    entity.status = Entity.status.Value ? true : false;

    if (Entity.status.Value)
    {
        if (true)
        {
            await this.Queue(sessionGUID)
        }

        entity.RequestStatus = "Approve"
    }

    // Related Entities
    foreach (Entity relatedEntity in entities.Where(f => f.isMainEntity.Value != true))
    {

       //Update related Entities properties
    }

    await this.Uow.Entity.BulkInsertOrUpdate(entities);
}
  

有时 RequestStatus 列的值在数据库中未更新。但是其他列值每次都会更新。

我正在使用EF核心批量扩展程序进行批量更新,该扩展程序内部具有savechanges方法。

GitHub URL

0 个答案:

没有答案