使用 Linq2sql 时,一切都会自动运行。我的经验是顺其自然并不总是最好的解决方案,了解内部工作的方式会更好,因此您可以最佳地使用该技术。
所以,我的问题是关于 linq2sql。
如果我进行查询并获取一些数据库对象,或者我创建一个新对象,那么 linqcontext 对象会以某种方式保留对这些对象的引用。如果其中一个对象发生了某些变化,则上下文对象“知道”发生了什么变化并需要更新。
如果我对该对象的引用设置为 null,这是否意味着上下文对象也删除了它与该对象的链接?还是上下文对象慢慢地被大量引用填充,并阻止我的数据库对象进行垃圾收集?
如果没有,这是如何工作的?
另外,数据库对象总是遍历整个列表以查看发生了什么变化并对其进行更新不是很慢吗?
任何有关其工作原理的见解都会非常好!
谢谢