Fork me on GitHub
TianvData免费发布并且开源下载

TianvData免费发布并且开源下载

前言:

从接触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

 
 
 
posted on 2013-04-04 23:07  HackerVirus  阅读(218)  评论(0编辑  收藏  举报