.Net 2005 partial class 的用途
2008-03-28 11:01:35 来源:中国编程网 作者:未知 点击:
一般来说,我习惯把数据库操作部分和相应的类放在一起,比如,一个 BookCollection 类就应该自己包含操作 Book 表:
一般来说,我习惯把数据库操作部分和相应的类放在一起,比如,一个 BookCollection 类就应该自己包含操作 Book 表:
view plaincopy to clipboardprint?
using System;
using System.Collections;
public class Book
{
public string BookName;
}
public class BookCollection : CollectionBase
{
public void Add(Book b)
{
List.Add(b);
SaveToDatabase(b);
}
private void SaveToDatabase(Book b)
{
string sql = string.Format(
"Insert Into [Books] ([BookName]) Values (’{0}’)",
b.BookName.Replace("’", "’’"));
SqlConnection.CreateCommand(sql).ExecuteNonQuery();
}
}
using System;using System.Collections;public class Book{public string BookName;}public class BookCollection : CollectionBase{public void Add(Book b){List.Add(b);SaveToDatabase(b);}private void SaveToDatabase(Book b){string sql = string.Format("Insert Into [Books] ([BookName]) Values (’{0}’)",b.BookName.Replace("’", "’’"));SqlConnection.CreateCommand(sql).ExecuteNonQuery();}}
不过,对于三层结构的程序要求来说,应该把数据库操作部分和业务逻辑部分拆分开来:
view plaincopy to clipboardprint?
using System;
using System.Collections;
public class Book
{
public string BookName;
}
public class BookCollection : CollectionBase
{
public void Add(Book b)
{
List.Add(b);
BookAccess.SaveToDatabase(b);
}
}
public class BookAccess
{
public static void SaveToDatabase(Book b)
{
string sql = string.Format(
"Insert Into [Books] ([BookName]) Values (’{0}’)",
b.BookName.Replace("’", "’’"));
SqlConnection.CreateCommand(sql).ExecuteNonQuery();
}
}
using System;using System.Collections;public class Book{public string BookName;}public class BookCollection : CollectionBase{public void Add(Book b){List.Add(b);BookAccess.SaveToDatabase(b);}}public class BookAccess{public static void SaveToDatabase(Book b){string sql = string.Format("Insert Into [Books] ([BookName]) Values (’{0}’)",b.BookName.Replace("’", "’’"));SqlConnection.CreateCommand(sql).ExecuteNonQuery();}}