首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

盘点 .NET 比较流行的开源的ORM框架

您可以使用 Chloe.ORM 通过 lambda 查询 LINQ 之类的数据并执行任何操作(查询 | 组查询 | 聚合查询 | 插入 | 批量更新 | 批量删除)。...开源地址:https://github.com/nhibernate/nhibernate-core 七、ServiceStack/ServiceStack.OrmLite(国外) 简单的 .NET 的快速...、、类型化的 ORM 开源地址:https://github.com/ServiceStack/ServiceStack.OrmLite 八、linq2db(国外) LINQ to DB 是最快的 LINQ...没有更改跟踪,因此您必须自己进行管理,但从积极的方面来说,您可以获得更多控制权并更快地访问您的数据。 换句话说LINQ to DB 是类型安全的 SQL。...(又名异步)(V6) 与严格未修饰的 POCO 或归属的几乎 POCO 一起使用。 易于配置,包括开箱即用的流畅配置。

4.2K42
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hive优化器原理与源码解析系列--优化规则HiveAggregateProjectMergeRule(十六)

    下面例子会使用group_sets和GROUPINGID进行查询,其中的 GROUPINGID,表示结果属于哪一个分组集合。...初始化groupset字段索引与投影中字段索引的映射关系,并判断Project投影的行表达式,是一个字段的引用,而不是函数表达式,否则将无法应用此优化。...handle "GROUP BY expression" return null; } } 2 .遍历调用汇总函数,函数列表,判断AGG引用的字段是否在Project投影中引用,而且是字段引用...,并到投影中确认,判断是否引用到字段,并添加到newArgs列表中,否则返回为null final RexNode rex = project.getProjects().get(arg); /...判断这两个列表是否相等,如果不相等,则进行遍历newKeys索引,并查找对应newGroupSet索引位置,添加到postList中。

    69720

    sparksql源码系列 | 生成resolved logical plan的解析规则整理

    在查询分析之后,将由规则`InlineCTE`决定是否内联。对于每个主查询和子查询,此替换后未内联的所有CTE定义都将分组在一个`WithCTE`节点下。...by”中的序号替换为UnresolvedOrdinal表达式,其中UnresolvedOrdinal表示按order by或group by使用的未解析序号。...此规则用于将序号位置转换为选择列表中的相应表达式。Spark 2.0中引入了这种支持。如果排序引用或分组依据表达式不是整数而是可折叠表达式,请忽略它们。...HAVING子句还可以使用SELECT中未显示的分组列。...如果没有这个规则,可以为NULL的列的NULL字段实际上可以设置为non-NULL,这会导致非法优化(例如NULL传播)和错误答案。

    3.7K40

    Spring认证中国教育管理中心-Spring Data MongoDB教程七

    如果您有多个要分组的键,则可以传入逗号分隔的键列表。...投影可以通过 fluent API 使用该and(String)方法扩展附加字段,并使用该方法别名as(String)。...后期聚合阶段对投影字段的引用仅对包含字段的字段名称或其别名(包括新定义的字段及其别名)有效。未包含在投影中的字段不能在后面的聚合阶段引用。以下清单显示了投影表达式的示例: 示例 99....在ZipInfoStats类定义了在所需的输出格式的结构。 前面的清单使用以下算法: 使用该group操作从输入集合中定义一个组。分组条件是state和city字段的组合,构成了分组的 ID 结构。...: 按state字段对输入集合进行分组并计算字段的总和population并将结果存储在新字段中"totalPop"。

    8.1K30

    MySQL基础(快速复习版)

    ,要求是group by后出现的字段 2.5、分组查询 一、语法 select 分组函数,分组后的字段 from 表 【where 筛选条件】 group by 分组的字段 【having 分组后的筛选...】 【order by 排序列表】 二、特点 使用关键字 筛选的表 位置 分组前筛选 where 原始表 group by的前面 分组后筛选 having 分组后的结果 group by 的后面...语法: select 查询列表 from 表1 别名,表2 别名 where 表1.key=表2.key 【and 筛选条件】 【group by 分组字段】 【having 分组后的筛选】 【order...select 查询列表 from 表 别名1,表 别名2 where 等值的连接条件 【and 筛选条件】 【group by 分组字段】 【having 分组后的筛选】 【order by 排序字段...,但可以有多个唯一 ②、主键不允许为空,唯一可以为空 2、相同点 都具有唯一性 都支持组合键,但不推荐 外键: 1、用于限制两个表的关系,从表的字段值引用了主表的某字段值 2、外键列和主表的被引用列要求类型一致

    4.5K20

    android orm持久层框架

    一个是依赖包:Apache Commons - Lang (2.6)   另外一个就是主包:androrm.jar   不管怎么下载的都不能使用...  ...然后有考虑了一下db4o   官网:http://www.db4o.com/ 官网上的介绍说是已经支持Android了,但是我一是觉得包有点大,而是觉得速度有点慢   最后看到的就是ormlite...   官网:http://ormlite.com/ 一共两个包:一个是ormlite-core-4.24.jar,另一个是ormlite-android-4.24.jar   从以下网址可以下载到:http...添加引用   新建一个model:Hello.java   package cn.sdx.model;    import com.j256.ormlite.field.DatabaseField...,下面是效果:      OrmLite的功能非常强大,Model类的声明中非常重要,外键约束,非空检查等等问题都有相对的处理方法。

    84150

    SQL命令 GROUP BY

    GROUP BY子句接受查询的结果行,并根据一个或多个数据库列将它们分成单独的组。 当将SELECT与GROUP BY结合使用时,将为GROUP BY字段的每个不同值检索一行。...指定字段 GROUP BY子句最简单的形式指定单个字段,如GROUP BY City。 这将为每个惟一的City值选择任意一行。 还可以指定以逗号分隔的字段列表,将其组合值视为单个分组术语。...GROUP BY根据字段的大写字母排序规则,使用SQLUPPER排序规则对字段的值进行分组。 只有字母大小写不同的字段值被分组在一起。 分组字段值全部以大写字母返回。...组合字母大小写变体在一起(返回实际的字母大小写): GROUP BY可以将字母大小写不同的值分组在一起,并使用实际的字段字母大小写值返回分组的字段值(随机选择)。...这样做的好处是将每个字母变体作为一个单独的组返回。 它的性能缺点是不能使用字段的索引。 可以使用管理门户在系统范围内为包含GROUP BY子句的所有查询配置此行为。

    3.9K30

    从头开始,手写android应用框架(一)

    前言 搭建android项目框架前,我们需要先定义要框架的结构,因为android框架本身的结构就很复杂,如果一开始没定义好结构,那么后续的使用就会事倍功半。...然后创建一个异常捕获文件——CrashExceptionHandler,用于输入未捕获异常日志(写法很多,可以上网任意搜索)。 然后打开app下的gradle,引入我们常用的包。...url后,就可以在匿名类的重写函数中获得返回值。...setContentView(this.rootView); } else { throw new MissingResourceException("未使用...LinkageRecyclerView组件,实现一个简单的双列表布局,界面如下: 结语 最后我们看一下项目结构,如下图:  如上图,一个简单的,有序的,支持activity恢复数据,支持fragment

    45920

    数据存储之-SQLite数据库二

    简单点说就是:写在事务里的所有数据库操作都成功,事务提交,否则,事务回滚,就是回到前面 的状态——未执行数据库操作的时候!...3.SimpleCursorAdapter绑定数据库数据 当然,这个玩玩可以,还是不建议使用,尽管用起来很简单! 其实在讲ContentProvider我们就使用过这个东西来绑定联系人列表!...②如果我想删除表中某个字段或者增加一个新的字段,原先的数据还在吗? 答:在的! ③你刚说的那种粗暴的更新数据库版本的方式,不保留数据的,可以贴下吗?...答:可以,这里用的是第三方的ormlite,你也可以自己写数据库创建以及删除的代码: ?...这样可以保证表结构都是最新的!另外不一定是建表语句,修改表结构 也可以哦 ⑤旧表的设计太糟糕,很多字段要改,改动太多,想建一个新表,但是表名要一样 而且以前的一些数据要保存到新表中!

    60330

    sql2java:WhereHelper基于Beanshell(bsh)动态生成SQL语句

    因为BeanShell是用java写的,运行在同一个虚拟机的应用程序,因此可以自由地引用对象脚本并返回结果。...“” 等价比较的字段名 notCheckEmpty false 为true 不检查字段参数是否为null或空 not false 为true执行不等价比较 @Equal用于创建一个等价表达式或不等价,...GROUP BY 表达式注解,用于定义分组查询字段名 字段名 默认值 说明 value {} 分组查询(GROUP BY) 字段列表 groupByVarname “group_by_column”...分组查询(GROUP BY) 字段变量名 @OrderBy gu.sql2java.wherehelper.annotations.OrderByWhereHelper ORDER BY 表达式注解,...BY 字段变量名,用于应用层(前端)定义ORDER BY 字段名的变量名定义 变量命名 WhereHelper自动将输入参数的变量命名转为条件表达式引用变量的命名格式(驼峰命名法(camel-case

    1.1K30

    Hive优化器原理与源码解析系列--优化规则AggregateProjectPullUpConstantsRule(十七)

    首先call.rel(0)获取Aggregate操作对象,并取得groupBy引用字段的个数,如果只有GroupBy只有一个字段,已经没有优化的空间,不可能把一个非空groupby转换为空groupBy...如果联接的左输入上有谓词,并且该谓词位于联接条件中使用的列上,则可以在联接的右输入上推断谓词。(反之亦然。)...遍历GroupBy引用字段的索引,并包装成RexInputRef(序号,字段数据类型)代表一个字段。如果在常量等值谓词映射关系中存在的。...但“分组依据”中至少需要一个项目。否则,“GROUP BY 1,2”可能会更改为“GROUP BY()”。...遍历aggregate引用的所有字段列表(包括聚合方法内的字段),如果是聚合方法表达式,名称和位置不变,如果是常量则直接提取出常量值,如'F' 作为字段值放置到Project中。

    1.4K10

    MySQL基础

    分组函数,分组的字段 from 表名 where 分组前的筛选条件 grounp by 分组列表 having 分组后的筛选 order by 排序列表 二、特点 ​ ① 分组列表可以是单个字段、多个字段...​ ② 筛选条件分为两类 筛选的基表 使用的关键字 位置 分组前筛选 原始表 where group by 前面 分组后筛选 分组后的结果集 having group by 后面 三、执行顺序 ​...select 查询列表 ① from 表 1 别名, 表 2 别名 ② where 连接条件 ③ and 筛选条件 ④ group by 分组列表 ⑤ having 分组后的筛选 ⑥ order by...表 2 别名 where 非等值的连接条件 【and 筛选条件】 【group by 分组字段】 【having 分组后的筛选】 【order by 排序字段】 3、自连接 语法: select 查询列表...表 3 on 连接条件 ③ where 筛选条件 ④ group by 分组列表 ⑤ having 分组后的筛选 ⑥ order by 排序列表 ⑦ 执行顺序: ② ③ ④ ⑤ ⑥ ① ⑦ 特点: ​

    2.5K30

    SQL知识点总结

    select 字段2,sum(字段1) from Table1  GROUP BY 字段2 :这是可以的,正确的。...如果分组列包含多个空值,则这些空值将放入一个组中。 (5)GROUP BY 语句中可以使用 ALL(可选)关键字,返回由GROUP BY 子句生成的所有组。...(6)GROUP BY中的WHERE 和 HAVING 语句 A:WHERE 搜索条件在进行分组操作之前应用,不能使用聚合函数;而 HAVING 搜索条件在进行分组操作之后应用,可以使用聚合函数。...B:HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。  ...格式为: SELECT  查询列表序列  INTO  新表名 FROM  数据源 …..其他行过滤、分组等语句 用INTO子句创建的新表可以是永久表,也可以是临时表。

    2.3K10

    使用 ServiceStack 构建跨平台 Web 服务

    例如前面的代码段,如果要求从客户端来执行更高版本的 Web 服务的 DoSomething 方法的两个输入参数 — 或需要返回字符串值之外的另一个字段 —— 给老客户重大更改是不可避免的。...用 ServiceStack 生成的 web 服务可以运行在 Windows 环境中,.NET 代码或Mono支持 Linux 环境中。...为了更好地展示WCF 概念可以如何转化为 ServiceStack 的概念,首先会在WCF中实现服务层。...我会告诉你如何通过将WCF Web 服务移植到等效的使用 ServiceStack 转换为跨平台的 Web 服务。 WCF 使用数据合同建立的客户端和服务器之间的通信手段。...,创建一个空的ASP.NET应用,使用 NuGet 包管理器控制台将 ServiceStack 引用添加到 ServiceStack.Host.AspNet中所示 ?

    1.7K50

    Python 中的正则表达式全部用法速查

    修饰符,和其他实现中的修饰符产生的多义性可以使用括号包围再进行嵌套  字符功能.匹配一个任意字符一次,是否包括换行符取决于DOTALL参数{m,n}匹配前一个字符的出现次数范围, mgroup(分组引用1,引用2...)返回指定分组引用(数字和命名引用)匹配到的字符串,默认为引用0,即全局匹配结果__getitem__(分组引用)等价于m.group...(g),允许更方便的引用一个匹配groups(分组未匹配到内容的默认值=None)返回一个元组,其中包含所有子组的字符串,从1开始所有子组groupdict(分组未匹配到内容的默认值=None)返回一个包含所有的命名子组的字典...start(分组引用=0)返回匹配成功的开始位置,否则返回 -1end(分组引用=0)返回匹配成功的结束位置,否则返回 -1span(分组引用=0)返回元组: ( 开始位置 , 结束位置 ),未匹配到返回...将多个字符替换为其它多个字符或删除,使用translate()替换re.sub()  在转向re模块之前,请考虑是否可以使用更快更简单的字符串方法解决问题  区别search()和match()  总体来说

    1.2K30
    领券