WhereCascade 多表查询时非常方便,有了它可以很轻松的完成类型软删除,租户条件的功能。
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10")
.Build();
[Table(Name = "tb_topic")]
class Topic {
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public int TestTypeInfoGuid { get; set; }
public TestTypeInfo Type { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
class TestTypeInfo {
public int Guid { get; set; }
public int ParentId { get; set; }
public TestTypeParentInfo Parent { get; set; }
public string Name { get; set; }
public List<Topic> Topics { get; set; }
class TestTypeParentInfo {
public int Id { get; set; }
public string Name { get; set; }
ISelect<Topic> select => fsql.Select<Topic>();
WhereCascade
多表查询时,像isdeleted每个表都给条件,挺麻烦的。WhereCascade使用后生成sql时,所有表都附上这个条件。
fsql.Select<t1>()
.LeftJoin<t2>(...)
.WhereCascade(x => x.IsDeleted == false)
.ToList();
得到的 SQL:
SELECT ...
FROM t1
LEFT JOIN t2 on ... AND (t2.IsDeleted = 0)
WHERE t1.IsDeleted = 0
其中的实体可附加表达式时才生效,支持子表查询。单次查询使用的表数目越多收益越大。
可应用范围:
-
子查询,一对多、多对多、自定义的子查询;
-
Join 查询,导航属性、自定义的Join查询;
-
Include/IncludeMany 的子集合查询;
暂时不支持【延时属性】的广播;
此功能和【过滤器】不同,用于单次多表查询条件的传播;
系列文章导航
转载于:https://www.cnblogs.com/FreeSql/p/11531372.html
原文链接:
http://www.cnblogs.com/FreeSql/p/11531372.html
分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,
数据库
不同实现方式有所不同。
与分表不同,一张大表进行分区后,他还是一张表,不会变成二张表,但是他存放数据的区块变多了。分区的概念,我觉得就想突破磁盘I/O瓶颈,想提高磁盘的读写能力,来增加
数据库
的性能。
分区实现是比较简单的,建立分区表,根建...
1.desc '表名' -- 查看表结构2.show create table '表名' -- 查看建表语句3.grant select, insert on '
数据库
名.表名' to '用户名'@'
数据库
地址' identified by '密码' -- 创建新用户并授权4.revoke insert on '
数据库
名.表名' from '用户名'@'
数据库
地址' -- 回收权限5.? cont...
ParisGabriel每天坚持手写一天一篇 决定坚持几年 为了梦想为了信仰开局一张图今天接着昨天的说索引有4种:普通 索引 :index唯一索引:unique主键索引:primary key外键索引:foreign key索引查询命令:show index from 表名\G;Non_Unique:1 :indexNon_Unique:0 :unique外键索引(foreign k...
Free
Sql
开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/
Free
Sql
随着不断的迭代更新,越来越稳定,也越来越强大。预计在一周年的时候(2020年1月1日)发布 1.0 正式版本。
金九银十的日子过去了,在这个铜一般的月份里,鄙人做了几个重大功能,希望对使用者开发提供更大的便利。
一、Dto 映射查询
二、I...
官方文档:http://
free
sql
.net/guide/#
free
sql
Free
Sql
是功能强大的 .NET ORM,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin等支持 NetStandard 所有运行平台。
支持 My
Sql
/
Sql
Server/Postgre
SQL
/Oracle/
Sql
ite/Firebird/达梦/神通/人大金仓/翰高/华为GaussDB/MsAccess
数据库
。
Free
Sql
使用模型执行数据访问,模型由实体类表示
数据库
表或视
说点题外话,相比net其他的版本,net6简单了许多,不再需要配置一大堆路由、插件……等等,使用体验上好了许多。
net 中的orm框架之前接触过EF,因为项目的原因最近又用到了
Free
Sql
,回过头来看看,EF还是显的笨重了不少,
Free
Sql
除了安装Nuget包之外,只有一句connection连接字符串的配置,只要配对了就直接可以使用了,听起来是不是很爽啊,哈哈。
Free
Sql
提供了众多常用
数据库
的驱动插件,打开nuget选择需要的插件包安装(笔者用的数...
0. 前言老幺小说网 https://laoyao.org
前几天
Free
Sql
的作者向我推荐了
Free
Sql
框架,想让我帮忙写个文章介绍一下。嗯,想不到我也能带个货了。哈哈,开个玩笑~看了下觉得设计的挺有意思的,所以就谢了这篇文章。
简单介绍一下,
Free
Sql
是NCC组织的沙盒级项目,是一款功能强大的 ORM 组件,支持 .NET Core、.NET Framework 和 Xamarin。目前
Free
Sql
支持以下
数据库
:My
SQL
、Postgre
SQL
、
Sql
Server、Ora...
Free
Sql
是功能強大的對象關系映射技術(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin扶搖直上,至強ORM衹爲自由編碼;鵬程萬裡,至簡Linq可使保畱黑發;橫批:
Free
Sql
(詩人:Coder)Features[x] 支持 CodeFirst 遷移,哪怕使用 Access 數據庫也支持;[x] 支持 DbFirst 從數據庫導入實...
Free
Sql
有一个用户很迷的功能 WhereDynamicFilter 动态表格查询,本文讲解它的设计初衷,如何高效理解,从此不再迷惑。小时候学习编程,老师经常教导我们,程序 = 数据结构 + 算法,今天就以我自身的认知讲解该功能的完整设计过程,其中包含数据结构和算法。对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系
数据库
存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和
数据库
之间映射的元数据,将程序中的对象自动持久化到关系数据