SubSonic 3 の最近の (極端な) パフォーマンスの問題に照らして、ORM の移行を検討しており、できればできるだけ少ないコード (主に Linq) を書き換えます。
だから私はBLToolkitを見ています。SubSonic と BLToolkit の主な違いの 1 つは、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 アプリケーションのコンテキストにどのような影響を与えるでしょうか?