TsOrm 基于 .Net 的简易 ORM开源项目

我要开发同款
heymax2017年01月14日
111阅读
开发技术C#
所属分类ORM/持久层框架、程序开发
授权协议GPL

作品详情

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();

InterestingThings 

  [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; }    }
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论