I am using unit of work where I want to do delete first before inserts. I am using following code but the delete is never get called although MyCollection.Count is greater than 0. Any idea what I may be doing wrong?
List<UnitOfWorkBlockType> CommitOrder = new List<UnitOfWorkBlockType>();
CommitOrder.Add(UnitOfWorkBlockType.Deletes);
CommitOrder.Add(UnitOfWorkBlockType.Inserts);
CommitOrder.Add(UnitOfWorkBlockType.Updates);
UnitOfWork uow = new UnitOfWork(CommitOrder);
....
MyObjectsDetailCollection MyCollection = new MyObjectsDetailCollection();
MyCollection.GetMulti(new PredicateExpression(MyObjectsDetailFields.Id == someId));
if (MyCollection.Count > 0)
uow.AddDeleteMultiCall(MyCollection, new PredicateExpression(MyObjectsDetailFields. Id == someId));
for (int i = 0; i < SomeCounter; i++)
{
MyObjectsDetailEntity MyEntity = new MyObjectsDetailEntity();
MyEntity.IsNew = true;
......
......
uow.AddForSave(MyEntity);
}
uow.Commit(new Transaction(System.Data.IsolationLevel.ReadUncommitted, "UOW"), true);