gpt4 book ai didi

linq-to-sql - DataContext 的最佳使用模式

转载 作者:行者123 更新时间:2023-12-03 04:49:18 24 4
gpt4 key购买 nike

DataContext 的最佳生命周期模型是什么?我是否应该在需要时创建一个新的(也称为函数级别),是否应该在每个使用它的类中保留一个可用的(类级别),或者我应该创建一个带有静态 DataContext 的静态类(应用程序域)等级)?这方面有没有经过深思熟虑的最佳实践?

最佳答案

如果您要存储 .SubmitChanges() 的更改,则您非常需要在要执行的操作的整个生命周期中保持相同的数据上下文可用。 d 稍后,否则您将丢失这些更改。

如果您只是查询内容,那么可以根据需要创建它们,但是如果稍后您想要.SubmitChanges(),您将不得不大量重构代码,因此您也可以采用从一开始就在整个应用程序中有效保持 datacontext 全局的模式。

请注意,数据上下文已断开。仅当枚举查询数据时才会建立连接(不是在第一次运行查询时,它是一种“惰性”数据类型,因此仅在需要时提供数据),然后立即关闭。在 .SubmitChanges() 上,连接打开以提交更改,然后立即关闭。因此,不要认为保留 datacontext 可以保持连接打开,事实并非如此(您可以 Hook 连接的 StateChange 事件来亲自确认这一点,这就是如何我确定)。

Rick Strahl's Blog 有一篇很棒的文章其中深入涵盖了这个主题,远远超过我在这里的回答所提供的!!

关于linq-to-sql - DataContext 的最佳使用模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com