Tag: devforce

如何阻止DevForce吞噬EntityManager.EntityChanged事件中的exception

这是来自DevForce论坛的线程的另一个延续。 问题是如果更改是由查询或导入触发的,DevForce将默默地吞下EntityManager.EntityChanged事件抛出的任何exception。 相关代码如下所示: internal virtual void OnEntityChanged(EntityChangedEventArgs args) { EventHandler entityChanged = this.EntityChanged; if (entityChanged == null) return; try { entityChanged(this, args); } catch { if (args.Action != EntityAction.AddOnQuery && args.Action != EntityAction.AddOnImport) { throw; } } } 正如论坛post中提到的,这种方法的行为已经改变了一点加class。 现在吞下的东西比我第一次抱怨时少。 但对于我们的应用程序,我们真的需要知道什么时候出错。 仅仅因为我在执行查询或导入操作时碰巧出错并不意味着我不关心exception。 在上一篇论坛post中,这种行为的理由是: 吞咽在AddOnQuery(和AddOnImport)期间抛出的exception的论点是“在查询中间失败通常不是开发人员实际想要的”,因为它更可能由于编写错误的事件处理程序而发生 也许我们不常见:-),但在我们的应用程序中,事件处理程序如下所示: EntityManager.EntityChanged += (sender, e) => { if (e.Action == EntityAction.AddOnAttach […]

如何从Devforce IdeaBlade应用程序设置context_info sql语句

我需要从我的winforms应用程序设置Context_info,这样我就可以通知数据库,如果我的应用程序正在保存记录而不是需要运行触发器的遗留应用程序,则不会运行触发器。 我读过的所有内容都说它需要使用数据上下文来设置。 在我的应用程序中,我正在使用实体管理器。 如何使用实体管理器而不是datacontext设置数据上下文。 我只是希望触发器知道它是我的应用程序运行并保存设置触发器的数据 我想做跟随。 “set context_info’0x1234′ 在触发器的开始,我检查是否设置了context_info并且不运行触发器。 遗产没有设置context_info。