私が割り当てられたこの現在のプロジェクトでは、次のバージョン 3.1 レベルを使用しています。
Microsoft.Practices.EnterpriseLibrary.Common;
Microsoft.Practices.EnterpriseLibrary.Data;
Ent Lib の機能についてもっと知ろうとすると、さまざまなバージョン (3.1、4.0、および 5.0 だと思います) に関する記事やドキュメントがたくさん出てきます。
一般に、新しいバージョンは、以前のリリースの Ent Lib 用に作成されたアプリケーション コードで動作しますか? 継承したこのアプリのすべてのソース コードを調査したわけではありませんが、データ アクセス アプリケーション ブロックの「基本」のみが使用されていると思います。典型的なコードは次のとおりです。
public override List<Erx.Action> GetAll(bool bIsActive)
{
Database db = null;
DbCommand cmd = null;
List<Erx.Action> lst = null;
IDataReader iRdr = null;
try
{
db = DatabaseFactory.CreateDatabase();
cmd = db.GetStoredProcCommand("Mst_GetAllCorrectiveAction");
db.AddInParameter(cmd, "@CorrectiveActionID", DbType.Int32, -1);
db.AddInParameter(cmd, "@IsActive", DbType.Boolean, bIsActive);
iRdr = db.ExecuteReader(cmd);
lst = new List<Erx.Action>();
while (iRdr.Read())
{
Action objAction = new Action();
objAction.CorrectiveAction = iRdr["CorrectiveAction"].ToString();
objAction.CorrectiveActionID = int.Parse(iRdr["CorrectiveActionID"].ToString());
objAction.IsActive = (bool)iRdr["IsActive"];
lst.Add(objAction);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
db = null;
iRdr.Close();
if (cmd != null)
{
cmd.Dispose(); cmd = null;
}
}
return lst;
}
率直に言って、これは通常の ADO.Net を超えるものを提供しているようには見えませんが、新しいバージョンでは物事がより単純になっている可能性があります (Unity について非常に良いことを聞いたことがあります)。