【发布时间】:2009-11-06 19:24:52
【问题描述】:
使用 Linq2sql 时,一切都会自动运行。我的经验是,顺其自然并不总是最好的解决方案,了解内部工作原理会更好,因此您可以最佳地使用该技术。
所以,我的问题是关于 linq2sql。
如果我进行查询并获取一些数据库对象,或者我创建一个新对象,那么 linqcontext 对象会以某种方式保留对这些对象的引用。如果其中一个对象发生变化,上下文对象“知道”发生了什么变化并需要更新。
如果我对对象的引用设置为 null,这是否意味着上下文对象也会删除它与该对象的链接?还是上下文对象慢慢地被大量引用填充,并阻止我的数据库对象进行垃圾收集?
如果没有,这是如何工作的??
另外,数据库对象总是遍历整个列表以查看发生了什么变化并对其进行更新不是很慢吗?
任何有关其工作原理的见解都会非常好!
谢谢
【问题讨论】:
-
您应该将“linq-to-sql”标签添加到您的问题中,因为它是特定于 linq 风格的
-
你误会了,已经有一个标签“linq-to-sql”,你刚刚创建了一个新标签;-)
-
哈哈哈......好吧......也许我现在得到一个新徽章! ;^)
标签: c# .net linq linq-to-sql internals