添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
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 对象,注意:单例设计,不要重复创建

IFreeSql

状态管理,可实现 Update 只更新变化的字段(不更新所有字段),灵活使用 Attach 和 Update 用起来非常舒服。

DbContext 与 BaseRepository 功能大致类似。

DbContext 自身 = 完整事务,BaseRepository 不一定有事务(可通过设置其 UnitOfWork 属性)。

ICodeFirst

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) 递归查询父子关系表