【发布时间】:2011-07-28 02:17:48
【问题描述】:
为了访问我的数据库并使用我的存储过程,我制作了这个非常简单的数据访问层(如果有人可以称之为“层”)。我有 8 个文件,每个文件看起来像:
using System;
using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;
public class TasksDBHandler
{
private static Database db = DatabaseFactory.CreateDatabase("DBNAME");
public static void SetTaskDepreciationData(long taskId, long fieldId, string value)
{
DbCommand command = db.GetStoredProcCommand("dbo.P_CUS_TSK_SetTaskDepreciationData");
db.AddInParameter(command, "@task_id", DbType.Int64, taskId);
db.AddInParameter(command, "@field_id", DbType.Int64, field);
db.AddInParameter(command, "@value", DbType.String, value);
db.ExecuteNonQuery(command);
}
//Many more stored procedures calls
}
我想构建一个新的更好的数据访问层,但我不知道它应该是什么样子。我希望能够使用存储过程而不需要为每个存储过程编写静态方法,我想要更好的连接管理等等/
有人知道怎么做吗?
我正在使用 .Net 和 SQL SERVER。
【问题讨论】:
-
一定要遵循答案中的建议并使用 ORM。
标签: c# .net sql sql-server linq