Class: RequestStatus Column is annoted for ConcurrencyCheck
public class Entity
{
public string TicketNumber { get; set; }
[ConcurrencyCheck]
public string RequestStatus { get; set; }
//Other Properties here
}
I am using BulkInsertUpdate EF core method to update main entity and its child entites as:
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);
}
Sometimes value for RequestStatus column is not getting updated in DB. But other column values gets updated everytime.
I am using EF core Bulk extension for bulk update which internally has savechanges method.