【问题标题】:MDriven: Transient instance of persistent classMDriven:持久类的瞬态实例
【发布时间】:2018-07-12 22:38:37
【问题描述】:

在 MDriven 中,我有一个持久类,我需要创建一个临时实例。

这可能吗?

我知道一种解决方法是照常创建然后丢弃它。

澄清 2018-02-02 17:04 UTC+1:
我需要在不向模型添加任何内容的情况下执行此操作,编译时间。

【问题讨论】:

    标签: transient mdriven


    【解决方案1】:

    是的,您是正确的 - 无法在运行时将类更改为瞬态。

    但是,您可以将其子类化...并使子类瞬态...我自己也有这种确切的需求并以这种方式解决了它。

    示例:MonthDemandSupplyCorrection 是持久的 - 但 MDSC_Placeholder 不是

    更新:由于该要求已被澄清为“在设计时未知” - 更好的答案是创建一个普通实例并避免保存它。这可以通过如下所示的撤消服务和内存事务来确保:

      EcoSpace.Undo.StartTransaction();
      try
      {
         //Any changes you need
      }
      finally
      {
        EcoSpace.Undo.RollbackTransaction(); 
      }
    

    【讨论】:

    • “如何”的示例或详细信息会很棒,谢谢!那我把它标记为正确答案。 :-)
    • 哦,有点误会。我需要它“临时”,而不是在模型中。 :-) 有什么方法可以“即时”进行,即在运行时?
    • 啊哈-不抱歉-那么您就剩下自己的建议了;创建一个普通对象并避免保存它。考虑使用内存中的事务来完成此操作。更新这个答案
    【解决方案2】:

    您可以尝试 umlrt - 在运行时使用模型、类等。举个例子——https://www.capableobjects.com/2016/07/21/calling-your-own-c-net-things-from-turnkeyserver-side/

    Migth 帮助 - 旧的免费电子书 - ECO III 书 作者:阿洛伊斯·施密德

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2010-09-23
      • 1970-01-01
      • 2014-03-29
      • 2013-01-06
      相关资源
      最近更新 更多