You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
UseNoneCommandParameter
不使用命令参数化执行,针对 Insert/Update,也可临时使用 IInsert/IUpdate.NoneParameter()
UseGenerateCommandParameterWithLambda
生成命令参数化执行,针对 lambda 表达式解析
UseLazyLoading
开启延时加载功能
UseMonitorCommand
监视全局 SQL 执行前后
UseMappingPriority
指定映射优先级(默认 Aop < FluentApi < Attribute)
UseNameConvert
自动转换名称 Entity -> Db
UseQuoteSqlName
SQL名称是否使用 [] `` ""
UseExitAutoDisposePool
监听 AppDomain.CurrentDomain.ProcessExit/Console.CancelKeyPress 事件自动释放连接池 (默认true)
Build<T>
IFreeSql<T>
创建一个 IFreeSql 对象,注意:单例设计,不要重复创建
状态管理,可实现 Update 只更新变化的字段(不更新所有字段),灵活使用 Attach 和 Update 用起来非常舒服。
DbContext 与 BaseRepository 功能大致类似。
DbContext 自身 = 完整事务,BaseRepository 不一定有事务(可通过设置其 UnitOfWork 属性)。
List<T>
string field
执行SQL查询,返回 field 指定字段的记录,并以元组或基础类型(int,string,long)接收,记录不存在时返回 Count 为 0 的列表
ToOne
执行SQL查询,返回 T1 实体所有字段的第一条记录,记录不存在时返回 null
执行SQL查询,是否有记录
Lambda
指定一个列求和
Lambda
指定一个列求最小值
Lambda
指定一个列求最大值
Lambda
指定一个列求平均值
string, parms
左联查询,使用原生sql语法,LeftJoin("type b on b.id = a.id and b.clicks > @clicks", new { clicks = 1 })
InnerJoin
string, parms
联接查询,使用原生sql语法,InnerJoin("type b on b.id = a.id and b.clicks > @clicks", new { clicks = 1 })
RightJoin
string, parms
右联查询,使用原生sql语法,RightJoin("type b on b.id = a.id and b.clicks > @clicks", new { clicks = 1 })
Lambda
多表查询,3个表以上使用非常方便,目前设计最大支持10个表
IQueryable
将 ISelect 转换为 IQueryable,此方法主要用于扩展,比如:abp IRepository GetAll() 接口方法需要返回 IQueryable 对象。注意:IQueryable 方法污染较为严重,请尽量避免此转换
InsertInto
string, Lambda
将查询转换为 INSERT INTO tableName SELECT ... FROM t 执行插入
ToUpdate
IUpdate<TENtity>
将查询转为更新对象
ToDelete
IDelete<TENtity>
将查询转为删除对象
ToTreeList
List<TEntity>
将父子关系的数据以 TreeList 的形式返回
AsTreeCte
ISelect
(up, pathSelector, level)
递归查询父子关系表