前言:
從接觸ASP.NET開始, 資料庫的操作就已經成為了所有網站項目共同的部分,
經曆了許多方式, 走了不少彎路, 參考了很多別人的代碼(特別喜歡subsonic),也該把自己的發布出來,
給大家參考。
簡介:
TianvData 是我們公司即將發布的TianvCMS的主要組件之一。
它小型、簡單、快速資料庫組件, 通過使用原生的DbProviderFactory, 使得跨資料庫相當的方便。
使用方式:
下載包裡有使用方式的具體內容,這裡簡單的貼一些代碼:
View Code
private void testORMWithOutDb() { var p1 = new news_info() { Title = "first title" }; p1.Insert(); int lastId = p1.Id; var p2 = news_info.Select(lastId); p2.Title = "second title"; p2.Update(); p2.Delete(); }View Code
private void testCmdText() { using (Db db = new Db("tianv")) { var p1 = db.ExecuteNonQuery("insert into news_info(title) values ('first title')"); int lastId = db.ExecuteScalar<int>("select max(id) from news_info"); var p2 = db.ExecuteNonQuery("update news_info set title='second title' where id=" + lastId); var p3 = db.ExecuteScalar("select title from news_info where id="+lastId); using (var reader = db.ExecuteReader("select * from news_info where id>=1 limit 10 offset 0")) { } var p4 = db.ExecuteTable("select * from news_info where id>=1 limit 10 offset 0"); var p5 = db.ExecuteScalar<string>("select title from news_info where id=" + lastId); var p6 = db.ExecuteSingle<news_info>("select * from news_info where id=" + lastId); var p7 = db.ExecuteList<news_info>("select * from news_info where id>=1 limit 10 offset 0"); var p8 = db.ExecuteNonQuery("delete from news_info where id=" + lastId); } }View Code
private void testCmdTextHelperWithOutDb() { var lastId = Sql<news_info> .Insert() .Set(t => t.Title, "first title") .ExecuteScalar<int>(); var p2 = Sql<news_info> .Update() .Set(t => t.Title, "second title") .Where(t => t.Id, "=", lastId) .ExecuteNonQuery(); var p3 = Sql<news_info> .Select() .Columns(t => t.Title) .Where(t => t.Id, "=", lastId) .ExecuteScalar(); var p4 = Sql<news_info> .Select() .Where(t => t.Id, ">=", 1) .Limit(10).Skip(0) .ExecuteTable(); var p5 = Sql<news_info> .Select() .Columns(t => t.Title) .Where(t => t.Id, "=", lastId) .ExecuteScalar<string>(); var p6 = Sql<news_info> .Select() .Where(t => t.Id, "=", lastId) .Limit(10).Skip(0) .ExecuteSingle(); var p7 = Sql<news_info> .Select() .Where(t => t.Id, ">=", 1) .Limit(10).Skip(0) .ExecuteList(); var p8 = Sql<news_info> .Delete() .Where(t => t.Id, "=", lastId) .ExecuteNonQuery(); }
開源:
TianvData採用GPLv2開源協議。
下載:
開源地址:https://tianvdata.codeplex.com/
:http://tianvdata.codeplex.com/releases/
簡易文檔:http://tianvdata.codeplex.com/documentation