【发布时间】:2014-04-16 02:02:19
【问题描述】:
这是我为我的 ASP.NET Web 应用程序采用的当前设计模式,我见过有人使用存储库,但我不了解存储库设计模式的实现。
谁能指出我如何在我的设计中实现存储库模式?还有,如果我在我的案例中实现一个存储库,我将获得什么样的好处。
另外,我应该在我的设计中实现哪些好的接口?
客户类 (Customer.cs)
public class Customer
{
public int CustomerID { get; set; }
public string Name { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
}
DBManager 类 (DBManager.cs)
public class DBManager
{
private const string connectionString = "some connection string";
public static IEnumerable<Customer> getAllCustomers()
{
List<Customer> cust = new List<Customer>();
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string cmdText = "SELECT * FROM Customer";
SqlCommand comm = new SqlCommand(cmdText, conn);
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
cust.Add(new Customer
{
CustomerID = int.Parse((string)dr["customerID"]),
Name = (string)dr["name"],
Address1 = (string)dr["address1"],
Address2 = (string)dr["address2"]
});
}
}
}
catch (SqlException e)
{
throw e;
}
return cust;
}
}
索引页面代码隐藏 (index.aspx.cs)
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IEnumerable<Customer> cust = DBManager.getAllCustomers();
// some codes to display IEnum customers in page
}
}
【问题讨论】:
标签: c# asp.net web repository