I created an extensibility method to delete one of my Linq To Sql objects called Reservation.
Well, in this partial method that I created, I want to update some other objects. It seems that the update is not saved in the database. Here is my partial backup deletion method.
public partial class LawEnforcementDataContext
{
partial void DeleteReservation(Reservation instance)
{
var roster = new Roster(this, instance.CourseID);
var seated = from r in roster.All
where r.WaitingList == false
select r.ID;
this.ExecuteDynamicDelete(instance);
var newlySeated = from r in roster.All
where r.WaitingList == false && !seated.Contains(r.ID)
select r.ID;
var reservations = this.Reservations.Where(r => newlySeated.Contains(r.ID));
foreach (var r in reservations)
{
r.Confirmed = false;
}
}
}
Removing occurs, but no update. Commented on the last few lines some of the things I tried.
Any ideas? Thanks!
EDIT
Here is what I did to solve this problem:
public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
{
ChangeSet delta = GetChangeSet();
foreach (var res in delta.Deletes.OfType<Reservation>())
{
var roster = new Roster(this, res.CourseID);
var seated = from r in roster.All
where r.WaitingList == false
select r.ID;
base.SubmitChanges(failureMode);
var newlySeated = from r in roster.All
where r.WaitingList == false && !seated.Contains(r.ID)
select r.ID;
var reservations = this.Reservations.Where(r => newlySeated.Contains(r.ID));
foreach (var r in reservations)
{
r.Confirmed = false;
}
}
base.SubmitChanges(failureMode);
}
source
share