2

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

这可能吗?

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

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

4

2 回答 2

2

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

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

MonthDemandSupplyCorrection 是持久的 - 但 MDSC_Placeholder 不是

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

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

  EcoSpace.Undo.StartTransaction();
  try
  {
     //Any changes you need
  }
  finally
  {
    EcoSpace.Undo.RollbackTransaction(); 
  }
于 2018-02-02T12:53:12.670 回答
0

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

Migth 帮助 - 旧的免费电子书 - Alois Schmid 撰写的 ECO III 书

于 2018-02-02T16:55:01.140 回答