• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

01.LambdaToSql: Lambda转Sql 小型orm框架

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

01.LambdaToSql

开源软件地址:

https://gitee.com/wangshuyu/LambdaToSql

开源软件介绍:

LambdaToSql

项目介绍

  1. LambdaToSql 简单的兰姆达转换sql,可以直接.ToList()执行,返回查询结果
  2. 比较轻量级Orm框架,在公司多个web项目中使用
  3. qq群(811382380)

安装教程 如何获取

  1. NuGet管理器 搜索:LambdaToSql
  2. Install-Package LambdaToSql -Version 版本号
  3. 软件采用.net 4.0 开发

项目帮助文档

wiki https://gitee.com/wangshuyu/LambdaToSql/wikis

博客园 https://www.cnblogs.com/shuyu/p/9307005.html

Demo示例程序

https://gitee.com/wangshuyu/LambdaToSql_Demo

支持功能

  1. Where 条件查询
  2. Order by 排序
  3. Group by 分组
  4. 简单分页,只支持row_number
  5. 支持数据库函数:Avg Max Min Sum Count
  6. 不需要任何第三方类库

数据库要求

  1. 只支持Microsoft SQL Server数据库,不支持SQL Server 2000
  2. 最低 Microsoft SQL Server 2005 或更高

性能测试

  1. 基本和Ado.Net原生接近,lambda解析转换成sql语句,然后使用DBHelper参数化查询的数据库,性能 损耗是在兰姆达转语句上,后续版本会加缓存机制。
  2. 接口 命名重新规划,但还是不太好,后续版本会慢慢规划,暂时预计大概发布 10个版本,出一个稳定版本

如何使用

  1. 配置文件中添加链接数据库字符串
  2. 生成实体类(在wiki中有说明,如何生成实体类)
  //生成实体对象文件  LambdaToSql.SysConfig.Init();  LambdaToSql.FrameWork.CreateEntity.Init("d:/class/");

3.使用结构示例

 //初始化DB var DB = new LambdaToSql.SqlClient();
 DB.QueryTable<实体对象>()                            .Where(条件)                            .Select(字段)                             .GroupBy(分组)                             .OrderByDescending(排序)                            .OrderBy(排序)                            .Skip(页码)                            .Take(数量)                            .ToList();//返回集合                            .Count();                             .Sum(求和);                            .Min(最小值);                            .Max(最大值);                            .Avg(平均值);                            .First();//第一条                            .FirstOrDefault();//第一条                            .ToPageList(页码, 每页数量, ref 总数);//分页

更新

  1. 修复主键int自增存在的 bug
  2. 去掉强制字段:Guid createtime
  3. 支持:int类型自增主键,支持标识列表,
  4. 全局统一支持 int自增主键和guid主键
  5. 新增默认主键列排序
  6. 新增xml注释(之前有bug)
  7. 修改版本号为3位

性能测试

  1. 测试环境 三星固态硬盘
  2. 添加100w条数据 耗时大概250s内
  3. 查询100w条数据并生产实体.Tolist(),大概3s
  4. 100w数据,每页50条,取中间数据,大概100ms内
  5. 插入/更新/查询 单条数据 大概20ms内
  6. 删除 单条大概 20ms内

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap