DotNetSQL是一個輕量級的數據處理封裝,建議用作項目數據持久層, 支持 MSSQL2000/2005, 2008下未測試. 可以滿足常規的數據處理需要.適合于基于ASP.NET中小型項目! 能夠幫助初學者在一定程度上提高開發效率. DotNetSQL主要分以下模塊 DotNetSQL.Proc :執行常
DotNetSQL是一個輕量級的數據處理封裝,建議用作項目數據持久層, 支持 MSSQL2000/2005, 2008下未測試. 可以滿足常規的數據處理需要.適合于基于ASP.NET中小型項目!
能夠幫助初學者在一定程度上提高開發效率.
DotNetSQL主要分以下模塊
DotNetSQL.Proc :執行常規的存儲過程,包括返回datatable,dataset,sqldatareader,return,output
DotNetSQL.Sql:執行常規的sql語句,提取了sqlhelper的基本操作方法.
DotNetSQL.ORM.Sql : 常規的模型操作,insert,update,delete Model
DotNetSQL.ORM.Proc :基于存儲過程的模型操作
DotNetSQL.Config:動態配置 (非web.config),適合于winForm
DotNetSQL.Cache:目前只開放了存儲過程參數名稱緩存,暫無數據緩存.
簡單的列出幾個調用例子:
一,普通調用存儲過程
CREATE PROCEDURE [dbo].[sp_Test]
@a varchar(20),
@b int,
@c float,
@d text,
@e datetime,
@f int output,
@g varchar(20) output
AS
BEGIN
SET NOCOUNT ON;
--邏輯處理代碼
END
這是一個簡單的存貯過程,里面關系到了輸入參數,輸出參數,用DotNetSQL執行代碼如下
Code
using DotNetSQL.Proc;
ExecuteProc ep = new ExecuteProc(); Out=ep.RunProc("sp_Test","LiLei",20,32.3,"這里是長文本",DateTime.Now); //參數說明 //讀取output參數 此外 ExecuteProc下還有多個方法,例如無任何返回值,返回DataTable,SqlDataReader,DataSet等等. 另外備注一下使用DotNetSQL執行存儲過程與常規ADO.NET操作的性能對比. 以上測試是在我的小本本上測試結果,兩者誤差基本在2ms內. 二,基于ORM的數據操作 注:Model類中的字段必需于數據庫中表的字段名稱相同,包括大小寫,建議使用代碼生成器生成Model! DotNetSQL的操作代碼如下 DotNetSQL還集成了基于存儲過程的模型操作。 DotNetSQL也集成了sqlhelper中的基本操作方法。 具體請參見文檔,點擊下載 歡迎大家批評指正,如果你對DotNetSQL感興趣可以向我索要源碼!也希望DotNetSQL能夠幫助初學者實現快速開發!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Dictionary
int f;
string g;
//RunProc(存儲過程名稱,參數a,參數b,參數c,參數d,參數e) 無需再每個參數都new一次SqlParameter對象
if(Out.ContainsKey("@f")){
f=(int)Out["@f"];
}
if(Out.ContainsKey("@g")){
g=Out["@g"].ToString();
}C# Code(Model類)
using System;
using DotNetSQL.ORM; //必需引用該命名空間
[Property("Member")] //設置該model對應的表名
public class Member
{
public Member()
{
//
//TODO: 在此處添加構造函數邏輯
//
}
private int _id;
private string _name;
private bool _sex;
private decimal _money;
private DateTime _addtime;
private string _ext;
[Property(ColumnKeyType.PrimaryKeyAndIdentity)] //表示Id列為該表的主鍵且自增
public int Id
{
get
{ return _id; }
set
{ _id = value; }
}
public string Name
{
get
{ return _name; }
set
{ _name = value; }
}
public bool Sex
{
get
{ return _sex; }
set
{ _sex = value; }
}
[Property(ColumnKeyType.ReadOnly)] //表示在處理數據時,該列為只讀,即不參與修改.
public decimal Money
{
get
{ return _money; }
set
{ _money = value; }
}
public DateTime AddTime
{
get
{ return _addtime; }
set
{ _addtime = value; }
}
[Property(ColumnKeyType.Extend)] //表示該列為擴展列,當數據庫表中不存在該字段時,可以標識該屬性
public string Ext
{
get
{ return _ext; }
set
{ _ext = value; }
}
}
//ColumnKeyType詳細枚舉請參考文檔
Code
Member memberModel = new Member();
ORMToSQL ormToSql = new ORMToSQL();
//根據主鍵(Id)得到實體。
memberModel=ormToSql.GetModel
if(memberModel!=null)
{
Response.Write (memberModel.Name);
}
//插入一個新的實體到數據庫中
memberModel.Name="sun.Lei";
memberModel.Sex=false;
memberModel.Money=45.46; //因為在model類中,給該列標識了ReadOnly屬性,所以不會插入該列值
memberModel.AddTime = DateTime.Now;
int key=ormToSql.InsertModel
//update,delete都類似,此外以上方法都有相關重載,例如更新指定的列,詳情參照文檔。