考虑到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。专为您的方案而设计。