• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

最新开源DBLayer的详细介绍

c# 搞代码 4年前 (2022-01-09) 11次浏览 已收录 0个评论

DBLayer,我最近开源的数据库轻量级orm框架,目前支持sqlserver、mysql、oracle, 特别做了分页的封装。

这个框架从七八年前开始逐渐升级而来,也经历了不少项目,希望可以将大家从sql字符串中解放出来。

开源地址

访问代码案例

var id = TheService.InsertEntity<SysLog, long>(        () => new SysLog()        {            LogId = -1,            LogContentJson = "测试",            LogCreater = "测试",            LogCreateTime = DateTime.Now,            LogType = "1"});
分页操作
        /// <summary>/// 分页查询/// </summary>/// <param name="condition">查询条件</param>/// <returns></returns>public IEnumerable<SysUser> Seach(SysUserCondition.Search condition)        {var page = new Pager<SysUserCondition.Search>()            {                Condition = condition,                Table = "sys_user",                Key = "user_id",                Order = string.Empty,                Field = "*",                WhereAction = (Condition, Where, Paramters) =>{if (!string.IsNullOrEmpty(Condition.UserName))                    {                        Where.Append("AND user_name LIKE @user_name ");                        Paramters.Add(base.CreateParameter("@user_name", string.Concat("%", Condition.UserName, "%")));                    }if (!string.IsNullOrEmpty(Condition.UserEmail))                    {                        Where.Append("AND user_email LIKE @user_email ");                        Paramters.Add(base.CreateParameter("@user_email", string.Concat("%", Condition.UserEmail, "%")));                    }if (!string.IsNullOrEmpty(Condition.UserMobile))                    {                        Where.Append("AND user_mobile LIKE @user_mobile ");                        Paramters.Add(base.CreateParameter("@user_mobile", string.Concat("%", Condition.UserMobile, "%")));                    }                }            };var result = base.GetResultByPager<SysUser, SysUserCondition.Search>(page);return result;        }

推荐和spring 配合使用,具体配置代码请进入源码查看。

同时在spring 配置多个数据库连接,支持数据库连接字符串密码加密。只需要在 passwordKey加入密钥

  <object id="sql_wxius_string_server" type="DBLayer.Core.ConnectionString, DBLayer.Core" singleton="true">    <property name="Properties">      <name-values>        <add key="userid" value="sa" />        <add key="password" value="***" />        <add key="passwordKey" value="" />        <add key="database" value="wxius" />        <add key="datasource" value="." />      </name-values>    </property>    <property name="ConnectionToken" value="Password=${password};Persist Security Info=True;User ID=${userid};Initial Catalog=${database};Data Source=${datasource};pooling=true;min pool size=5;max pool size=10" />  </object>

数据库唯一标识除了可以数据自动编码,还支持在代码端自动 生成 GUID 和 时间点。下面代码是uuid,时间点并按照顺序生成的自动编号

  <object id="uuidGenerator" type="DBLayer.Persistence.UUIDGenerator, DBLayer.Persistence" singleton="true" >    <!--workerId:区域(机房):3 bits-->    <constructor-arg name="workerId" value="1"/>    <!--regionId:机器编号:10 bits-->    <constructor-arg name="regionId" value="1"/>    <!--twepoch:基准时间:Thu, 04 Nov 2010 01:42:54 GMT-->    <!--(long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds-->    <constructor-arg name="twepoch" value="1288834974657"/>  </object>

以上就是最新开源DBLayer的详细介绍的详细内容,更多请关注搞代码gaoda本文来源gao*daima.com搞@代#码&网6ima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:最新开源DBLayer的详细介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址