承接上一篇博文中的中间件基本都是写入性的操作,但对于查询操作实际上是比较鸡肋的,如果单纯的查询,没有分表的情况下基本还能适应,这里为了Dapper提供了扩展 Dapper的扩展查询是需要写表名称的,所以对于开发人员来说需要写表名称,同一个业务的查询就会出现问题,每个业务里面都需要去判断业务上的表名称,不利于开发维护,易出错的问题 所以扩展了 EasySharding.EFCore.DapperExtension 让开发人员不用过于关注表名称,只需要关注那些业务表有分表就行了 例如: #regio…
一对多映射关系 /// <summary> /// 一对多连接查询 /// </summary> /// <typeparam name="FirstT">主键表实体类型</typeparam> /// <typeparam name="SecondT">外键表实体类型</typeparam> /// <typeparam name="ReturnT">返回的实体…
Dapper 链式查询扩展 DapperSqlMaker   Github地址:https://github.com/mumumutou/DapperSqlMaker  欢迎大佬加入 Demo: 查询       TestsDapperSqlMaker\DapperSqlMaker.Test\ SelectDapperSqlMakerTest.cs 添加       TestsDapperSqlMaker\DapperSqlMaker.Test\  InsertDapperSqlMakerTes…
sql的行转列(PIVOT)与列转行(UNPIVOT)   在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一.行转列 1.测试数据准备 CREATE TABLE [StudentScores] ( [UserName] NVARCHAR(20), --学生姓名 [Subject] NVARCHAR(30), --科目 [Score] FLOAT, --成绩 )…
下面用一篇文章来完成这些事情 多租户系统的设计单纯的来说业务,一套Saas多租户的系统,面临很多业务复杂性,不同的租户存在不同的业务需求,大部分相同的表结构,那么如何使用EFCore来完成这样的设计呢?满足不同需求的数据库结构迁移 这里我准备设计一套中间件来完成大部分分库分表的工作,然后可以通过自定义的Migration 数据库文件来迁移构建不同的租户数据库和表,抛开业务处理不谈,单纯提供给业务处理扩展为前提的设计,姑且把这个中间件命名为: EasySharding 原理:数据库Migation…
https://www.jianshu.com/p/4b23e94a7825 可查询扩展(Queryable Extensions) 当在像NHibernate或者Entity Framework之类的ORM框架中使用AutoMapper的标准方法Mapper.Map 时,您可能会注意到,当AutoMapper尝试将结果映射到目标类型时,ORM将查询图形中所有对象的所有字段. 如果你的ORM表达式是IQueryable的,你可以使用AutoMapper的QueryableExtensions帮助…
真心想说:其实...我不想用Dapper,如果OrmLite.Net支持参数化的话,也就没Dapper的什么事情了,对于OrmLite.Net只能做后续跟踪...... 这个其实是看了Dapper作者的扩展后觉得不爽,然后自己按照他的设计思路重写了代码,只支持单个数据的增删改查,根据Expression来查的真心无能为力...... 另外作者似乎已经支持了属性.字段等与数据库中的映射..... 具体包含了 1.对字符串的扩展 2.对主键的定义,支持单或多主键,当单主键并且类型为数字时,认为该主键…
当在数据库中执行查询时,异步查询可避免阻止线程. 这有助于避免冻结富客户端应用程序的 UI.异步操作还可以增加 Web 应用程序的吞吐量,可以在数据库操作完成时释放线程去处理其他请求. Entity Framework Core 提供了一组异步扩展方法,可用作执行查询并返回结果的 LINQ 方法的替代方法. 示例包括 ToListAsync().ToArrayAsync().SingleAsync() 等.对于部分 LINQ 运算符(如 Where(...).OrderBy(...) 等),没有…
相关查询(在同一个表中) 相关查询类似子查询,但是又不同于子查询:子查询中的子条件可以单独查出数据,但是相关查询的子条件不能查处数据.(可以理解成C#中for的穷举法,第一个for走一个,第二个for走一圈,在相关查询中,括号内的数据只有几个,外面的查询有全部的数据,每个数据到括号中去比较是否合适) 格式: select * from 表名1 as a where a.列名 关系表达式或逻辑运算符 ( select * from 表名1 as b where a.相关列名1 = b.相关列名1…
12306微信小程序正式上线,如图所示,目前小程序提供余票查询.时刻表查询和正晚点查询三大功能,用户可在这里随时查看剩余车票以及列车时刻表.而且小程序支持用户添加行程,方便出行. 目前这款小程序还不支持购票,菜单中的“中铁商城”暂时还未上线,如果能添加购票功能,那么它完全可以替代官方的App了. 微信小程序是一种不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用,不用关心是否安装太多应用的问题. 对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活…
通常用在查询的关键词太短,用户需要隐含知识进行扩展.例如,查单词database时,用户可能还希望不仅仅包含database的文档,可能还指包含mysql.oracle.db2等单词.这时就需要查询扩展. 使用"with query expansion"或"in natural language mode with query expansion"关键语法就可以开启自动相关性反馈.共有两个阶段:1.根据检索的单词进行全文检索2.根据第一阶段产生的分词在进行一次全文检…
sql server Service Broker 相关查询 -- 查看传输队列中的消息 --如果尝试从队列中移除时,列将表明哪里出现了问题 select * from sys.transmission_queue -- 查看Service Broker 激活的存储过程 select * from sys.dm_broker_activated_tasks -- 查看数据库中的每个会话端点.会话端点代表Service Broker 会话的每一端. -- 会话端点视图state列显示会话的状态 s…
Oracle权限相关查询着实视图有点多,记录下常用的语句,方便查询:1.查看所有用户:  select * from dba_users;  select * from all_users;  select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):  select * from dba_sys_privs;  select * from user_sys_privs; 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限  selec…
package com.opslab.util.web; import com.opslab.util.ConvertUtil;import com.opslab.util.StringUtil; import java.io.UnsupportedEncodingException; /** * 提供Web相关的个工具类 */public final class WebUtil { /** * 对字符串进行编码 * * @param str 需要处理的字符串 * @param encoding…
/// <summary> /// 查询扩展 /// </summary> /// <typeparam name="T"></typeparam> public static class QueryableExtensions { /// <summary> /// Linq If 条件判断语句 IfWhere(条件,p=>xxx) /// </summary> /// <typeparam name…
一.建表 用户表tb_user create table if not exists tb_user( user_id int auto_increment, ) not null, user_password ) not null, user_avatar ) default null, user_city ) not null, user_createdat datetime default current_timestamp, user_updatedat datetime default…
一.oracle中的相关查询?和非相关查询? 二.oracle去除重复数据 1. 2. 3.oracle 实现分页? 利用rownum的唯一性,和子查询,将rownum从伪列变成实际列!…
前言 上一篇介绍了扩展类库的功能简介,通过json文件配置sql语句 和 sql语句的直接执行,这篇开始说明sql配置的策略模块:策略管理器与各种策略的配置. 类库源码:github:https://github.com/skigs/EFCoreExtend 引用类库:nuget:https://www.nuget.org/packages/EFCoreExtend/ PM> Install-Package EFCoreExtend 策略管理器功能简介 用于管理策略 与 策略执行器和调用(目前分…
前言 EF通过linq和各种扩展方法,再加上实体模型,编写数据库的访问代码确实是优美.舒服,但是生成的sql不尽如意.性能低下,尤其是复杂些的逻辑关系,最终大家还是会回归自然,选择能够友好执行sql语句的ORM,认认真真的编写sql:问题是:EF是否也能够很友好的执行sql语句?EF提供直接执行sql语句的方法并不多,而且也是极其简单的:那是否容易进行扩展?答案是肯定的,在DbContext下提供了Database属性就是为了执行sql用的,然后自己就通过Database下的方法属性进行了扩展(…
前言 去年我在业余时间,自己整了一套dapper的lambda表达式的封装,原本是作为了一个个人的娱乐项目,当时也只支持了Sql Server数据库.随之开源后,有不少朋友也对此做了试用,也对我这个项目提出了不少的建议.因此我在最近公司业务不怎么繁忙的情况下,对朋友们的建议和我的想法做了一个总结,然后花了一个星期的时间对项目进行了重构与升级,希望该项目能帮助到有需要的人. 如果您对它有兴趣,欢迎大家提交Pull Request代码变更,如果有任何问题可提交issue进行讨论.当然也可以在下方评论…
在上一篇的Linq to NHibernate的介绍当中,全部是namespace NHibernate命名空间中的IQueryOver<TRoot, TSubType>接口提供的.IQueryOver<TRoot, TSubType>这个借口实际上会被翻译成条件查询(Criteria Queries). 实际上Linq to NHibernate更加强大.我们先引入命名空间NHibernate.Linq,这里面有Linq to NHibernate更强大的扩展. 一.Fetch立…
公司新项目用的是Dapper,做的时候没有具体看dapper的具体用法,现在回来回顾总结一下. 1-总体介绍dapper 我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. Dapper是一个轻量级的ORM.之前最常用的ORM是EF,其实EF底层是Ado.net实现的. 现在基本上已经远离SqlHelper时代了. Dapper支持多数据库.支持多数据库的本质是因为dapper是对IDBConnection接口进行了方法扩展…
-- 表结构查询 SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name, 标识 then '√'else '' end, 主键 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in ( SELECT name FROM sysindexes WHERE indi…
//支持bind绑定store //列表搜索扩展,支持本地查询 //支持树形菜单本地一级菜单查询 Ext.define('ux.form.field.SearchField', { extend: 'Ext.form.field.Text', alias: 'widget.uxSearchfield', defaultBindProperty: 'store', mixins: ['Ext.util.StoreHolder'], triggers: { clear: { weight: 0, c…
http://www.cnblogs.com/ccdc/p/3356518.html 摘要: 对openldap进行备份时,直接使用slapcat命令进行备份,使用ldapadd还原出现问题及解决. 介绍: 对openldap进行备份时,直接使用slapcat命令进行备份(如代码一),然后使用ldapadd还原会出现以下报错信息: ldap_add: Constraint violation (10) additional info: structuralObjectClass: no user…
介绍 查询方法(Query)是IDbConnection的扩展方法,它可以用来执行查询(select)并映射结果到C#实体(Model.Entity)类 查询结果可以映射成如下类型: Anonymous 匿名类型 Strongly Typed 强类型 Multi-Mapping (One to One) 多映射 一对一 Multi-Mapping (One to Many) 多映射 一对多 Multi-Type 多类型 参数 下面表格中显示了Query方法的不同参数 名称 描述 sql 要执行的…
1. linq查询数据 WebTestDBEntities db = new WebTestDBEntities(); 1.1 linq查询所有列数据 var userInfoList = from u in db.UserInfo select u; 1.2 linq查询部分列数据 var userInfoList = from u in db.UserInfo select new { Name = u.UserName, Pwd = u.UserPass }; foreach (var u…
这个问题困扰我好长时间了,使用SQLSERVER 事务探查器找到执行超时的SQL语句,参数查询都是通过执行exe sp_executesql 的存储过程调用,因为它能够分析并缓存查询计划,从而优化查询效率,但是现在反而很慢.本地调试没有问题,开始上线也没有问题,但是运行一个月左右有时候会出现超时现象: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is…
前言:上一篇安装好oracle和pl/sql后,这篇主要讲如何创建数据库,因为接下来我的项目会连接数据库进行开发. 第一步.先用系统管理员登录pl/sql 我这里系统管理员用户名为system,密码为orcl 第二步.建立表空间 新建sql窗口,我们使用sql语句来创建表空间 create tablespace db_test --表空间名 datafile 'D:\oracle\product\11.2.0\dbhome_1\oradata\orcl\test.dbf' --物理文件 表空间数…
本篇是对EFCore 进行下封装并实现基本的增删改查的同步异步方法及针对不同数据库的批量插入.sql语句直接操作数据库: 一. 先定义基础仓储接口IRepository public interface IRepository<TEntity,TKey> where TEntity : class { #region 查找数据 long Count(Expression<Func<TEntity, bool>> predicate = null); Task<lo…