TsOrm

基于 .Net 的简易 ORM
授权协议 GPL
开发语言 C#
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 不详
投 递 者 邵诚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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; }
    }
 相关资料
  • 本文向大家介绍php基于websocket搭建简易聊天室实践,包括了php基于websocket搭建简易聊天室实践的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php基于websocket搭建简易聊天室实践。分享给大家供大家参考。具体如下: 1、前言 公司游戏里面有个简单的聊天室,了解了之后才知道是node+websocket做的,想想php也来做个简单的聊天室。于是搜集各种资料看文档、

  • 本文向大家介绍基于vue.js路由参数的实例讲解——简单易懂,包括了基于vue.js路由参数的实例讲解——简单易懂的使用技巧和注意事项,需要的朋友参考一下 vue中,我们构建单页面应用时候,一定必不可少用到vue-router vue-router 就是我们的路由,这个由vue官方提供的插件 首先在我们项目中安装vue-router路由依赖 第一种,我们提供命令行来安装 npm install v

  • 本文向大家介绍.NET Core类库System.Reflection.DispatchProxy实现简易Aop的方法,包括了.NET Core类库System.Reflection.DispatchProxy实现简易Aop的方法的使用技巧和注意事项,需要的朋友参考一下 前言 aop即是面向切面编程,众多Aop框架里Castle是最为人所知的,另外还有死去的Spring.NET,当然,.NET C

  • 本文向大家介绍.net core使用redis基于StackExchange.Redis,包括了.net core使用redis基于StackExchange.Redis的使用技巧和注意事项,需要的朋友参考一下 .net core使用redis基于StackExchange.Redis教程,具体如下 一.添加引用包 StackExchange.Redis Microsoft.Extensions.

  • 本文向大家介绍基于html+css+js实现简易计算器代码实例,包括了基于html+css+js实现简易计算器代码实例的使用技巧和注意事项,需要的朋友参考一下 使用html+css+js实现简易计算器, 效果图如下: html代码如下 CSS代码如下: JS代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在Microsoft plataform(IIS+.Net Framework或.Net CORE)上寻找与Java数据源类似的最接近的想法。 为那些不了解数据源的人提供一点上下文。Datasource为应用程序抽象数据库配置的概念。在Java中(以它为例),如果我有一个应用程序需要与数据库连接,那么一个很好的方法就是创建一个数据源。 datasource定义基础数据库的连接字符串、用于连接到