1、LambdaToSql 发布1.0.0.1版本

LambdaToSql 简单的兰姆达转换sql,可以直接.ToList()执行,返回查询结果

第一个版本支持:

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

性能:

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

如何获取:

  1. NuGet管理器 搜索:LambdaToSql
  2. Install-Package LambdaToSql -Version 版本号

使用示例:

  1. 配置文件中添加链接数据库字符串  <add name="ConnectionString" connectionString="Server=.;Database=test;User ID=sa;Password=123456" providerName="System.Data.SqlClient" />
  2. 测试代码
  3. 使用实例

    DB.QueryTable<实体对象>()
    .Where(条件)
    .Select(字段)
    .GroupBy(分组)
    .OrderByDescending(排序)
    .OrderBy(排序)
    .Skip(页码)
    .Take(数量)
    .ToList();//返回集合

    .Count();
    .Sum(求和);
    .Min(最小值);
    .Max(最大值);
    .Avg(平均值);
    .First();//第一条
    .FirstOrDefault();//第一条
    .ToPageList(页码, 每页数量, ref 总数);//分页

  4. 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值