1、LambdaToSql 发布1.0.0.1版本
来源:互联网 发布:传奇变速源码 编辑:程序博客网 时间:2024/06/15 15:37
LambdaToSql 简单的兰姆达转换sql,可以直接.ToList()执行,返回查询结果
第一个版本支持:
- Where 条件查询
- Order by 排序
- Group by 分组
- 简单分页,只支持row_number
- 支持数据库函数:Avg Max Min Sum Count
- 不需要任何第三方类库
- 暂不支持事物处理
- 暂不支持多表join查询
性能:
- 基本和Ado.Net原生接近,lambda解析转换成sql语句,然后使用DBHelper参数化查询的数据库,性能损耗是在兰姆达转语句上,后续版本会加缓存机制。
- 暂时不支持事物处理
- 接口 命名重新规划,但还是不太好,后续版本会慢慢规划,暂时预计大概发布 10个版本,出一个稳定版本
如何获取:
- NuGet管理器 搜索:LambdaToSql
- Install-Package LambdaToSql -Version 版本号
使用示例:
- 配置文件中添加链接数据库字符串 <add name="ConnectionString" connectionString="Server=.;Database=test;User ID=sa;Password=123456" providerName="System.Data.SqlClient" />
- 测试代码
使用实例
DB.QueryTable<实体对象>()
.Where(条件)
.Select(字段)
.GroupBy(分组)
.OrderByDescending(排序)
.OrderBy(排序)
.Skip(页码)
.Take(数量)
.ToList();//返回集合.Count();
.Sum(求和);
.Min(最小值);
.Max(最大值);
.Avg(平均值);
.First();//第一条
.FirstOrDefault();//第一条
.ToPageList(页码, 每页数量, ref 总数);//分页using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using LambdaToSql.FrameWork;namespace Web{ public partial class Clent : System.Web.UI.Page { LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient(); protected void Page_Load(object sender, EventArgs e) { //生成实体对象文件 //LambdaToSql.SysConfig.Init(); //LambdaToSql.Fireworks.CreateEntity.Init("d:/class/"); //Find查询主键 //var obj = db.QueryTable<EntityModel.System_UserInfo>().Find(Guid.Parse("9c1d1247-cd2c-424d-be14-ef8abae655a4")); //var item = new string[] { "15842709668", "18609877687", "15804279711", "13998756128", "13019965033" }.ToList(); //var list = db.QueryTable<EntityModel.System_UserInfo>(ex => LambdaToSql.Fireworks.Method.In(ex.LoginName, item)).ToList(); //var list = db.QueryTable<EntityModel.System_UserInfo>(ex => item.Contains(ex.LoginName)).ToList(); function(); Select(); } private void function() //函数查询 { var list = DB.QueryTable<EntityModel.System_UserInfo>() //.Where(ex => ex.LoginName.Contains("15")) //.Where(ex => ex.LoginName.StartsWith("158")) //.Where(ex => ex.LoginName.EndsWith("88")) //.Where(ex => ex.LoginName.NotContains("88")) //.Where(ex => ex.LoginName == "Shuyu".ToLower()) // .Where(ex => item.Contains(ex.LoginName)) //.Where(ex => item.NotContains(ex.LoginName)) .ToList(); } private void Select()//基本查询 分页 { int total = 0; var list = DB.QueryTable<EntityModel.System_UserInfo>() //.Select(ex => new { ex.LoginName, ex.UserName }) //.Select(ex => new { ex.PassWord, ex.IdCard }) //.Where(ex => ex.LoginName == "test" || ex.UserName == "社区民警") //.Where(ex => ex.LoginName == "test") //.GroupBy(ex => new { ex.LoginName }) //.GroupBy(ex => new { ex.UserName }) //.OrderByDescending(ex => ex.LoginName) //.OrderBy(ex => ex.UserName) //.Take(15) //.Where(ex => ex.LoginName.Contains("15")) //.Where(ex => ex.LoginName.StartsWith("158")) //.Where(ex => ex.LoginName.EndsWith("88")) //.Where(ex => ex.LoginName.NotContains("88")) //.Where(ex => ex.LoginName == "Shuyu".ToLower()) //.Where(ex => Method.Like(ex.LoginName, "158%")) //.Where(ex => Method.NotLike(ex.LoginName, "158%")) //.Where(ex => Method.In(ex.LoginName, "15841479211")) //.Where(ex => Method.In(ex.LoginName, item)) //.Where(ex => Method.NotIn(ex.LoginName, item)) //.Count(); //.Take(10) //.Skip(2) //.OrderBy(ex => ex.CreateTime) //.Sum(ex => ex.LogOnCount); //.Min(ex => ex.LogOnCount); //.Max(ex => ex.LogOnCount); //.Avg(ex => ex.LogOnCount); //.First(); //.FirstOrDefault(); //.ToPageList(3, 15, ref total); .ToList(); } }}
阅读全文
0 0
- 1、LambdaToSql 发布1.0.0.1版本
- 1、LambdaToSql 发布1.0.0.1版本
- bboss event 1.0.1 版本发布
- Kafka 1.0版本发布
- 版本1发布
- dedict 在线版本 1.0 发布
- My Message 1.0 版本发布
- Hadoop正式发布1.0版本
- Jolla发布旗鱼1.0版本
- Spark 1.0.0版本发布
- Apache Mesos发布1.0版本
- EasyAnalysisCE v1.1版本发布
- androidkit 发布 0.5.1 版本
- StrongFFmpeg-1.2.1 版本发布
- jeeshop1.1 Beta版本发布
- bfsync 0.1.1发布 GIT-style版本控制程序
- Bean Query 修改Bug的版本(1.0.1)已发布
- Jeecg-P3 1.0.1版本发布,轻量级微服务框架
- git 查看某个文件的修改历史记录
- asp.net小数点四舍五入的方法
- 判断HTML页面是点击历史返回打开,还是正常跳转打开
- 代理模式之静态代理
- Leetcode c语言-Two Sum
- 1、LambdaToSql 发布1.0.0.1版本
- frm表单-参数面板时间控件默认值问题总结
- 数字签名
- docker-数据管理
- Linux系统负载
- 浅谈Redis---(1)
- 题目20:吝啬的国度
- Mybatis+mysql+allowMultiQueries=true
- 代理模式之动态代理