【发布时间】:2018-07-12 22:38:37
【问题描述】:
在 MDriven 中,我有一个持久类,我需要创建一个临时实例。
这可能吗?
我知道一种解决方法是照常创建然后丢弃它。
澄清 2018-02-02 17:04 UTC+1:
我需要在不向模型添加任何内容的情况下执行此操作,编译时间。
【问题讨论】:
在 MDriven 中,我有一个持久类,我需要创建一个临时实例。
这可能吗?
我知道一种解决方法是照常创建然后丢弃它。
澄清 2018-02-02 17:04 UTC+1:
我需要在不向模型添加任何内容的情况下执行此操作,编译时间。
【问题讨论】:
是的,您是正确的 - 无法在运行时将类更改为瞬态。
但是,您可以将其子类化...并使子类瞬态...我自己也有这种确切的需求并以这种方式解决了它。
示例:MonthDemandSupplyCorrection 是持久的 - 但 MDSC_Placeholder 不是
更新:由于该要求已被澄清为“在设计时未知” - 更好的答案是创建一个普通实例并避免保存它。这可以通过如下所示的撤消服务和内存事务来确保:
EcoSpace.Undo.StartTransaction();
try
{
//Any changes you need
}
finally
{
EcoSpace.Undo.RollbackTransaction();
}
【讨论】:
您可以尝试 umlrt - 在运行时使用模型、类等。举个例子——https://www.capableobjects.com/2016/07/21/calling-your-own-c-net-things-from-turnkeyserver-side/
Migth 帮助 - 旧的免费电子书 - ECO III 书 作者:阿洛伊斯·施密德
【讨论】: