我喜欢使用基于接口的Db访问.Ado.net的每个数据库提供程序都实现了基本接口,当您使用它们时,您的代码可能如下所示:
public static IDbConnection GetConnection(string connectionName)
{
ConnectionStringSettings ConnectString = ConfigurationManager.ConnectionStrings[connectionName];
DbProviderFactory Factory = DbProviderFactories.GetFactory(ConnectString.ProviderName);
IDbConnection Connection = Factory.CreateConnection();
Connection.ConnectionString = ConnectString.ConnectionString;
return Connection;
}
Run Code Online (Sandbox Code Playgroud)
然后,当您需要与db通信时:
public static DataTable Dummy()
{
using (IDbConnection Connection = GetConnection("SiteSqlServer"))
{
IDbCommand Command = Connection.CreateCommand();
Command.CommandText = "DummyCommand";
Command.CommandType = CommandType.StoredProcedure;
Connection.Open();
using (IDataReader reader = Command.ExecuteReader())
{
DataTable Result = new DataTable();
Result.Load(reader);
return Result;
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用此技术,您可以创建完全独立于数据库的DAL.当然,对于某些复杂情况,这还不够.但大多数情况下这将完成工作,并且您不需要各种外部库.
| 归档时间: |
|
| 查看次数: |
16714 次 |
| 最近记录: |