微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TsOrm 基于 .Net 的简易 ORM

程序名称:TsOrm

授权协议: GPL

操作系统: 跨平台

开发语言: C#

TsOrm 介绍

TsOrm 是为了学习 Dynamicmethod 和 Lambda 表达式而写出来的简易的 ORM ,如果你不想使用 EF ,NH 等重量级
Orm,欢迎大家学习和使用 TsOrm!

TsOrm 使用非常简单,代码如下:

创建IOrm , TsOrm 支持 sqlServer、MysqL、Postgresql

 string connectionstring ="DataSource=.\\sqlEXPRESS;uid=sa;pwd=root;Initial Catalog=test;Integrated Security=sspI;Integrated Security=True";
    //sqlServer
    IOrm sqlserver = OrmFactory.Getorm(ServerType.sqlServer, connectionstring);
    //MysqL
    IOrm MysqL = OrmFactory.Getorm(ServerType.MysqL, connectionstring);

执行sql

查询操作

  string sql = "SELECT * FROM table";
    //返回第一行第一列
    object obj = orm.sqlQuery(sql).ExecuteScalar();
    // 返回 DataTable
    DataTable table = sqlserver.sqlQuery(sql).ExcuteDataTable();
    // 返回List<T>
    List<Entity> list = sqlserver.sqlQuery(sql).ToEntityList<Entity>();

增删改操作

string sql = "DELETE  FROM table";
    int n =orm.sqlQuery(sql).ExecuteNonQuery();

Interesting Things

  [Table("data_user")]
    public class User
    {
        public long Uid { get; set; }
        public string NickName { get; set; }
    }
    IOrm<User> orm = OrmFactory.Getorm<User>(ServerType.sqlServer, connectionstring);
    //查找
    List<User> user = orm.sqlQuery(sql).ToEntityList();
    //执行存储过程
    List<User> result = orm.sqlQuery(sql,parameter).ToEntityList(CommandType.StoredProcedure);
    //可以这么更新
    int count = orm.UpdateColumn("NickName", "TsOrm").Where("Uid=89480").Update();
    //可以这么使用Lambda更新
    int count2 = orm.UpdateColumn("NickName", "TsOrm2").Where(x => x.Uid == 89480).Update();
    //可以这么使用Lambda更新
    int count3 = orm.UpdateColumn(x => x.NickName, "TsOrm").Where(x => x.Uid == 89480).Update();
    //如果你数据库中有一列储存的Json字符串 你可以在需要Json反序列化的地方加上JsonNet Attribute
    //TsOrm会自动帮你把数据库中的Json字符串反序列化
    public class Entity
    {
        public string name { get; set; }
        [JsonNet]
        public Child child { get; set; }
    }
     public class Child
    {
        public string name { get; set; }
        public int age { get; set; }
    }

TsOrm 官网

https://github.com/LiZhenNet/TsOrm

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐