基于 .Net 的简易 ORM TsOrm

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-23 06:44:38

软件介绍

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; }
    }

本文地址:https://codercto.com/soft/d/15199.html

万万没想到

万万没想到

万维钢(同人于野) / 电子工业出版社 / 2014-10-1 / 39.80元

本书精选了万维钢老师的文章和书评,以“用理工科思维理解世界”为导向。作者常用有趣的实验、数据来解读感性的事物,其理工科思维涉及行为经济学、认知心理学、社会学、统计学、物理等许多学科,以前沿的科学视角解读生活,为人们提供了认知的新方法。读完本书相当于精读了十几本经过筛选 、再创作及通俗化处理的巨著,不仅有趣还十分有营养。一起来看看 《万万没想到》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具