mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-03 23:10:54 +08:00
update
@@ -8,7 +8,7 @@ FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标
|
||||
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")
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构【开发环境必备】
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
```
|
||||
|
||||
- [《实体特性说明》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e7%89%b9%e6%80%a7)
|
||||
|
||||
@@ -5,7 +5,7 @@ DbFirst 模式开发主要提供了不同数据库的表结构查询适配,配
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
```
|
||||
|
||||
### 获取所有数据库
|
||||
|
||||
@@ -31,7 +31,7 @@ var connstr = @"Data Source=|DataDirectory|\db1.db;Attachs=db2.db;Pooling=true;M
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.Sqlite, connstr)
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
```
|
||||
|
||||
注意: IFreeSql 在项目中应以单例声明,而不是在每次使用的时候创建。
|
||||
|
||||
@@ -10,7 +10,7 @@ FreeSql.Repository 作为扩展,现实了通用仓储层功能。与其他规
|
||||
var fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|\document.db;Pooling=true;Max Pool Size=10")
|
||||
.UseAutoSyncStructure(true) //自动迁移实体的结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
public class Song {
|
||||
[Column(IsIdentity = true)]
|
||||
|
||||
2
修改.md
2
修改.md
@@ -7,7 +7,7 @@ var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.MySql, connstr)
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
分页查询.md
2
分页查询.md
@@ -1,7 +1,7 @@
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
删除.md
2
删除.md
@@ -13,7 +13,7 @@ var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.MySql, connstr)
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
单表查询.md
2
单表查询.md
@@ -1,7 +1,7 @@
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
多表查询.md
2
多表查询.md
@@ -1,7 +1,7 @@
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
工作单元.md
2
工作单元.md
@@ -8,7 +8,7 @@ var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.MySql, connstr)
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
```
|
||||
|
||||
## 如何使用
|
||||
|
||||
2
延时加载.md
2
延时加载.md
@@ -32,7 +32,7 @@ IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseLazyLoading(true) //开启延时加载功能
|
||||
.UseMonitorCommand(
|
||||
cmd => Console.WriteLine(cmd.CommandText)) //监听SQL命令对象,在执行前
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
var order = fsql.Select<Order>().Where(a => a.OrderID == 1).ToOne(); //查询订单表
|
||||
var orderDetail1 = order.OrderDetails; //第一次访问,查询数据库
|
||||
|
||||
2
性能.md
2
性能.md
@@ -79,7 +79,7 @@ IFreeSql mysql = new FreeSql.FreeSqlBuilder()
|
||||
//由于null会默认输出日志到控制台,影响测试结果。这里传入一个空的日志输出对象
|
||||
.UseAutoSyncStructure(false)
|
||||
//关闭自动迁移功能
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
class Song {
|
||||
public int Id { get; set; }
|
||||
|
||||
2
添加.md
2
添加.md
@@ -7,7 +7,7 @@ var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.MySql, connstr)
|
||||
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
缓存.md
2
缓存.md
@@ -4,7 +4,7 @@ FreeSql增加了缓存支持,可以快速将查询数据缓存起来,以便
|
||||
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")
|
||||
.UseCache(null) //使用缓存,不指定默认使用内存 IDistributedCache
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
2
表达式函数.md
2
表达式函数.md
@@ -135,7 +135,7 @@ var sql2 = fsql.Select<SysModule>()
|
||||
在之前 Where(lambda) 解析出来的是纯文本,做了防止注入功能,对数据库执行计划要求高的,现在可以开启 lambda 参数化功能。
|
||||
|
||||
```csharp
|
||||
var fsql = new FreeSqlBuilder()
|
||||
var fsql = new FreeSqlBuilder() //请务必定义成 Singleton 单例模式
|
||||
.UseGenerateCommandParameterWithLambda(true)
|
||||
...
|
||||
|
||||
|
||||
2
读写分离.md
2
读写分离.md
@@ -21,7 +21,7 @@ var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.MySql, connstr)
|
||||
.UseSlave("connectionString1", "connectionString2") //使用从数据库,支持多个
|
||||
.Build();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
select.Where(a => a.Id == 1).ToOne(); //读【从库】(默认)
|
||||
select.Master().WhereId(a => a.Id == 1).ToOne(); //强制读【主库】
|
||||
|
||||
2
返回数据.md
2
返回数据.md
@@ -3,7 +3,7 @@ FreeSql 采用 ExpressionTree 优化读取速读,如果懂技术的你一定
|
||||
```csharp
|
||||
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();
|
||||
.Build(); //请务必定义成 Singleton 单例模式
|
||||
|
||||
[Table(Name = "tb_topic")]
|
||||
class Topic {
|
||||
|
||||
Reference in New Issue
Block a user