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

10-04 22:06
查看更多