gpt4 book ai didi

c# - 带 Linq 的 BLToolkit——为什么需要 `using` 语句?

转载 作者:行者123 更新时间:2023-11-30 15:43:48 25 4
gpt4 key购买 nike

我注意到最近 SubSonic 3 的(极端)性能问题,我们正在寻求迁移 ORM,最好重写尽可能少的代码(主要是 Linq)。

所以我在看 BLToolkit。我在 SubSonic 和 BLToolkit 之间看到的主要区别之一是 BLToolkit 始终需要 using 语句。例如:

static void SingleTableTest()
{
using (var db = new NorthwindDB()) //This
{
var query =
from e in db.Employee
where e.EmployeeID > 5
orderby e.LastName, e.FirstName
select e;

foreach (var employee in query)
{
Console.WriteLine("{0} {1}, {2}", employee.EmployeeID, employee.LastName, employee.FirstName);
}
}
}

这到底是做什么的?当您创建一个新的数据库实例时,它会创建一个新的连接吗?将其“包装”到一个静态类中是否合理,以便我可以在任何地方执行 var q=from e in Database.Employee ...?这会对 Web 应用程序的上下文产生什么影响?

最佳答案

我想您示例中的 NorthwindDB 类是基于 DbManager 的。 DbManager 是 Connection 的包装器,其行为类似于连接。您应该尝试另一个类 - DataContext。它专为您的场景而设计。

关于c# - 带 Linq 的 BLToolkit——为什么需要 `using` 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509290/

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