我知道创建自定义数据访问层不是一个好主意,除非您: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。我在这个想法中纠正了吗?
自定义数据访问层绝对没有错。非自定义访问层的人写的不是他们正在做的事情,也不知道他们需要什么,现在有很多的错误。 – 2012-04-05 21:23:43