使用实体框架

时间:2016-12-14 07:00:46

标签: c# entity-framework devexpress

我想在最初使用以下代码从数据库加载数据时过滤我的数据:

_dbContext.PlannedWorkOrder.Where(order => order.ProjectID == _projectid).Load();
plannedWorkOrderBindingSource.DataSource = _dbContext.PlannedWorkOrder.Local.ToBindingList();

但是,当我想保存更改时,我收到以下错误:

  

无法访问' ResourceIds'已处置物品的财产'预约'。

如果我在没有过滤的情况下加载数据,那么一切都按预期工作:

_dbContext.PlannedWorkOrder.Load();
plannedWorkOrderBindingSource.DataSource = _dbContext.PlannedWorkOrder.Local.ToBindingList();

这可能是什么问题?

从调试中我发现一切都发生在schedulerControl1.EndUpdate()方法之后,但看起来错误来自内部代码。可能没有真正指责它,但它似乎与它有关懒加载......有什么想法吗?

这与devexpress btw的xtrascheduler协同工作。

enter image description here

堆栈追踪:

   konum: DevExpress.XtraScheduler.Native.Exceptions.ThrowObjectDisposedException(String objectName, String propName)
   konum: DevExpress.XtraScheduler.Appointment.get_ResourceIds()
   konum: DevExpress.XtraScheduler.Native.AppointmentChangeHelper.CanChangeAppointment(AppointmentOperationHelper operationHelper, Appointment sourceAppointment, Appointment editedAppointment, Boolean copy)
   konum: DevExpress.XtraScheduler.Native.AppointmentChangeHelper.ValidateOperation(Boolean copy)
   konum: DevExpress.XtraScheduler.Native.AppointmentChangeHelper.PerformDragDrop(ISelectableIntervalViewInfo layoutViewInfo, DragDropEffects effect, Boolean isDrop)
   konum: DevExpress.XtraScheduler.Native.AppointmentChangeHelper.CommitDrag(DragDropEffects dropEffect, Boolean skipRaiseDropEvent)
   konum: DevExpress.XtraScheduler.Native.AppointmentInternalDragAndDropMouseHandlerState.StartDragCore(SchedulerDragData data, ISchedulerHitInfo startHitInfo)
   konum: DevExpress.XtraScheduler.Native.AppointmentInternalDragMouseHandlerStateBase.Start()
   konum: DevExpress.Utils.MouseHandler.SwitchStateCore(MouseHandlerState newState, Point mousePosition)
   konum: DevExpress.XtraScheduler.Native.SchedulerMouseHandler.SwitchToInternalDragState(Point mousePosition, Appointment appointment, ISchedulerHitInfo layoutHitInfo, ISchedulerHitInfo prevLayoutHitInfo)
   konum: DevExpress.XtraScheduler.Native.AppointmentMouseDownState.OnMouseMove(MouseEventArgs e)
   konum: DevExpress.Utils.MouseHandler.HandleMouseMove(MouseEventArgs e)
   konum: DevExpress.Utils.MouseHandler.OnMouseMove(MouseEventArgs e)
   konum: DevExpress.Services.Implementation.MouseHandlerService.OnMouseMove(MouseEventArgs e)
   konum: DevExpress.XtraScheduler.SchedulerControl.OnMouseMove(MouseEventArgs e)
   konum: System.Windows.Forms.Control.WmMouseMove(Message& m)
   konum: System.Windows.Forms.Control.WndProc(Message& m)
   konum: DevExpress.XtraScheduler.SchedulerControl.WndProc(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   konum: System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   konum: System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   konum: System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   konum: System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   konum: System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   konum: System.Windows.Forms.Application.RunDialog(Form form)
   konum: System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   konum: System.Windows.Forms.Form.ShowDialog()
   konum: Terminator.Forms.FormMainMenu.tileItemProjects_ItemClick(Object sender, TileItemEventArgs e) D:\TErm_Workspace\Terminator\Terminator\Forms\FormMainMenu.cs içinde: satır 24
   konum: DevExpress.XtraEditors.TileItem.RaiseItemClick()
   konum: DevExpress.XtraEditors.TileItem.OnItemClick()
   konum: DevExpress.XtraEditors.TileControlHandler.ProceedPressInItem(MouseEventArgs e, TileControlHitInfo pressInfo)
   konum: DevExpress.XtraEditors.TileControlHandler.ProceedPressInItem(MouseEventArgs e)
   konum: DevExpress.XtraEditors.TileControlHandler.OnMouseUp(MouseEventArgs e)
   konum: DevExpress.XtraEditors.TileControl.OnMouseUp(MouseEventArgs e)
   konum: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   konum: System.Windows.Forms.Control.WndProc(Message& m)
   konum: DevExpress.XtraEditors.TileControl.WndProc(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   konum: System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   konum: System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   konum: System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   konum: System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   konum: System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   konum: System.Windows.Forms.Application.Run(Form mainForm)
   konum: Terminator.Program.Main() D:\TErm_Workspace\Terminator\Terminator\Program.cs içinde: satır 23
   konum: System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   konum: System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   konum: Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   konum: System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   konum: System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   konum: System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   konum: System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   konum: System.Threading.ThreadHelper.ThreadStart()

0 个答案:

没有答案