|
|
1
1
如果你不能复制数据并进行比较,那么很明显,你需要在某个地方记录下发生的变化。那么,问题是如何更新这些记录。 ORM工具可以(如果他们愿意)通过在对象中保留标志来解决这个问题,比如说数据是否已经更改,如果更改了又是什么。听起来好像是在为应用程序提供原始数据结构,而不是使用封装得很好的变体来更新标志的对象。 所以ORM通常不需要应用程序跟踪任何细节的变化。应用程序通常必须说明要保存哪些对象,但是ORM然后计算出为了保存哪些对象需要持久化到DB,并可能在那里应用优化。 我想这意味着,用你的话说,ORM在某种松散的意义上给数据结构添加了观察者。它不是一个外部观察者,而是一个知道如何改变自身的对象,但是当然,记录改变的东西会有一些开销。
然后你会有两种基本情况:
菲尔卡尔顿 |