カスタムデータアクセスレイヤーを作成することは、1)あなたのしていることを正確に把握しているか、または2)非常に具体的な必要がある場合を除いて、あまり良いことではありません。しかし、私は、各メソッドは次のようになりますカスタムデータアクセス層を使用して、いくつかのレガシーコードを維持しています:その結果、使用量がこのようなものになります静的データアクセス方法
using (SqlConnection cn = new SqlConnection(connectionString))
{
using (SqlDataAdapter da = new SqlDataAdapter("sp_select_details", cn))
{
using (DataSet ds = new DataSet())
{
da.SelectCommand.Parameters.Add("@blind", SqlDbType.Bit).Value = blind;
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.CommandTimeout = CommandTimeout;
da.Fill(ds, "sp_select_details");
return ds;
}
}
}
:
protected void Page_Load(object sender, EventArgs e) {
using (Data da = new Data ("SQL Server connection string")) {
DataSet ds = da.sp_select_blind_options(Session.SessionID); //opens a connection
Boolean result = da.sp_select_login_exists("someone");//opens another connection
}
}
を、私はそれを考えていますマイクロソフト社のエンタープライズライブラリを使用することで、私は設定と破棄、つまりSQL Serverへの接続をすべてのメソッド呼び出しから救うことができます。私はこの考え方で正しいですか?
カスタムデータアクセスレイヤーはまったく間違っていません。彼らが必要としていることを知らずにやっていない人々によって書かれた非カスタムアクセス層。今ではtahtで間違ったことがたくさんあります。 –