在 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 帮助 - 旧的免费电子书 - Alois Schmid 撰写的 ECO III 书