-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request
Description
Reported by @Dhaigvip.
A simple scenario to reproduce the issue:
public void TriggerCallbackWhenDeleted()
{
var transactor = CreateServices(
s => s.Decorate<ITransactor, OnDeleteTransactor>())
.GetRequiredService<ITransactor>();
var wasDeleted = transactor.Transact(db =>
{
var p = db.Insert<Person>();
var deleted = false;
p.WhenDeleted(p => deleted = true);
db.Delete(p);
return deleted;
});
Assert.True(wasDeleted);
wasDeleted = transactor.Transact(db =>
{
var p = db.Insert<Person>();
var deleted = false;
p.WhenDeleted(p => deleted = true);
// The WhenDeleted method is not called,
// because DbProxy.GetContext returns the original not decorated `IDatabaseContext`.
db = DbProxy.GetContext(p);
db.Delete(p);
return deleted;
});
// This fails.
Assert.True(wasDeleted);
}Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request