当前位置: 首页 > 编程语言 > C#

LINQtoSQL-更新分部类中的DataContext对象共享

时间:2023-04-10 14:46:59 C#

LINQtoSQL-更新分部类中的DataContext对象那么,在我创建的这个部分方法中,我想更新一些其他对象。我似乎无法将更新保存在数据库中。这是我删除订阅的方法的一部分。publicpartialclassLawEnforcementDataContext{partialvoidDeleteReservation(Reservationinstance){//获取课程中就座者的IDvarroster=newRoster(this,instance.CourseID);varseated=fromrinroster.Allwherer.WaitingList==falseselectr.ID;//删除保留this.ExecuteDynamicDelete(instance);//获取不在原始座位ID中的座位IDvarnewlySeated=fromrinroster.Allwherer.WaitingList==false&&!seated.Contains(r.ID)selectr.ID;varreservations=this.Reservations.Where(r=>newlySeated.Contains(r.ID));foreach(varrinreservations){r.Confirmed=false;//尝试过什么也不做,认为调用代码的db.SubmitChanges()可以解决问题//this.ExecuteDynamicUpdate(r);已经试过了}//this.SubmitChanges();HAVETRIEDTHIS}}删除正进行中,但更新不是。在最后几行中评论了我试过的一些事情。有任何想法吗?谢谢!编辑这是我为解决这个问题所做的工作:publicoverridevoidSubmitChanges(System.Data.Linq.ConflictModefailureMode){foreach(varresindelta.Deletes.OfType()){//获取课程中就座者的ID'svarroster=newRoster(this,res.CourseID);varseated=fromrinroster.Allwherer.WaitingList==falseselectr.ID;base.SubmitChanges(失败模式);//获取座位ID不在原始座位ID中varnewlySeated=fromrinroster.Allwherer.WaitingList==false&&!seated.Contains(r.ID)selectr.ID;varreservations=this.Reservations.Where(r=>newlySeated.Contains(r.ID));foreach(varrinreservations){r.Confirmed=false;}}base.SubmitChanges(failureMode);我希望这里的问题是它调用了GetChangeSet()。我建议您在数据上下文中重写SubmitChanges(),然后在那里应用此逻辑...foreach(varreservationindelta.Deletes.OfType()){//等}base.SubmitChanges(failureMode);这里有一个解释和一个在分部类中更新对象的好方法:ImplementinglinqtosqlpartialDataContextclass-howtocheckvaluesbefore/afterIwant它有帮助。以上就是C#学习教程:LINQtoSQL——更新分部类中的数据上下文对象。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: