gpt4 book ai didi

linq-to-sql - 是否有理由使用一个 DataContext 实例而不是多个实例?

转载 作者:行者123 更新时间:2023-12-02 05:19:35 26 4
gpt4 key购买 nike

例如,我有 2 个方法使用一个 DataContext (Linq to sql)。

 using(DataContext data = new DataContext){
// doing something
another_datamethod(data);
}

void another_datamethod(DataContext data){
// doing
}

使用这种风格?或者如果结果相同,我可以创建单独的“使用 DataContext”。如果我将使用一个 DataContext,我将获得什么好处?也许有一些缓存的可能性?

最佳答案

最近,我阅读了许多文章和博客,它们“强烈建议”您在应用程序中使用多个 DataContext,因为存在多个问题,包括创建与查找表关联的记录。当我学习 LINQ-to-SQL 时,它对我最有吸引力的特性之一是能够将我的完整数据库模式导入一个“大”DataContext。所以,这就是我所做的……但是几个月后,出现了相互矛盾的信息,说我所做的是一件坏事。怎么办,怎么办……

九个月后,这就是我的立场。我的单个大型 DataContext 仍然是我的单个大型 DataContext。我有 30 多个数据存储库类访问其中包含的 60 多个表,但我仍然没有找到分解现有数据域或不使用单个 DataContext 处理下一个项目的正当理由。文章和博客作者遇到的问题是有效的问题。然而,就像大多数技术事物一样,做事的方法从来都不止一种。我的时间和精力的最佳投资是学习并真正理解 LINQ-to-SQL 的工作原理。我找到的帮助我做到这一点的最好的书是 Pro LINQ: Language Integrated Query in C# 2008作者:Joseph C. Rattz, Jr。LINQ-to-SQL 的介绍详尽而清晰,并且有大量示例可以阐明其中的奥秘。

因此,在您的情况下,创建一个大的 DataContext 或创建许多较小的 DataContext……选择取决于您。较小的显然提供了更好的重用机会,而较大的有助于增加您专注于业务逻辑和表示代码的时间。

关于linq-to-sql - 是否有理由使用一个 DataContext 实例而不是多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2004954/

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