MDriven:持久化类的瞬态实例

时间:2018-02-02 12:16:39

标签: transient mdriven

在MDriven中,我有一个持久化的类,我需要创建一个瞬态实例。

这可能吗?

我知道解决方法是像往常一样创建然后丢弃它。

澄清2018-02-02 17:04 UTC + 1:
我需要这样做而不向模型添加任何东西,编译时间。

2 个答案:

答案 0 :(得分:2)

是的,你是对的 - 不可能在运行时将类更改为瞬态。

然而你可以将它子类化......并使子类瞬态化......我已经有了自己的确切需求并以这种方式解决了它。

The MonthDemandSupplyCorrection is persistent - but the MDSC_Placeholder is not

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

更新:由于要求被澄清为“在设计时不知道” - 更好的答案是创建一个普通的实例并避免保存它。这可以通过像这样的撤销服务和内存事务来确保:

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

答案 1 :(得分:0)

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

Migth帮助 - 旧的免费电子书 - ECO III书 作者:Alois Schmid