mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-28 11:10:56 +08:00
Updated 添加或修改 (markdown)
37
添加或修改.md
37
添加或修改.md
@@ -101,31 +101,18 @@ DROP TABLE #temp_user1
|
|||||||
## 5、BeginEdit 批量编辑
|
## 5、BeginEdit 批量编辑
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
[Fact]
|
var list = fsql.Select<T>().Where(...).ToList();
|
||||||
public void BeginEdit()
|
|
||||||
{
|
|
||||||
fsql.Delete<BeginEdit01>().Where("1=1").ExecuteAffrows();
|
|
||||||
var repo = fsql.GetRepository<BeginEdit01>();
|
|
||||||
var cts = new[] {
|
|
||||||
new BeginEdit01 { Name = "分类1" },
|
|
||||||
new BeginEdit01 { Name = "分类1_1" },
|
|
||||||
new BeginEdit01 { Name = "分类1_2" },
|
|
||||||
new BeginEdit01 { Name = "分类1_3" },
|
|
||||||
new BeginEdit01 { Name = "分类2" },
|
|
||||||
new BeginEdit01 { Name = "分类2_1" },
|
|
||||||
new BeginEdit01 { Name = "分类2_2" }
|
|
||||||
}.ToList();
|
|
||||||
repo.Insert(cts);
|
|
||||||
|
|
||||||
repo.BeginEdit(cts); //开始对 cts 进行编辑
|
var repo = fsql.GetRepository<T>();
|
||||||
|
repo.BeginEdit(list); //开始对 list 进行编辑
|
||||||
|
|
||||||
cts.Add(new BeginEdit01 { Name = "分类2_3" });
|
list.Add(new T { Name = "分类2_3" });
|
||||||
cts[0].Name = "123123";
|
list[0].Name = "123123";
|
||||||
cts.RemoveAt(1);
|
list.RemoveAt(1);
|
||||||
|
|
||||||
Assert.Equal(3, repo.EndEdit()); //重载方法新旧对比 repo.EndEdit(newlist)
|
repo.EndEdit(); //重载方法新旧对比 repo.EndEdit(newlist)
|
||||||
}
|
}
|
||||||
class BeginEdit01
|
class T
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
@@ -135,19 +122,19 @@ class BeginEdit01
|
|||||||
上面的代码 EndEdit 方法执行的时候产生 3 条 SQL 如下:
|
上面的代码 EndEdit 方法执行的时候产生 3 条 SQL 如下:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
INSERT INTO "BeginEdit01"("Id", "Name") VALUES('5f26bf07-6ac3-cbe8-00da-7dd74818c3a6', '分类2_3')
|
INSERT INTO "T"("Id", "Name") VALUES('5f26bf07-6ac3-cbe8-00da-7dd74818c3a6', '分类2_3')
|
||||||
|
|
||||||
|
|
||||||
UPDATE "BeginEdit01" SET "Name" = '123123'
|
UPDATE "T" SET "Name" = '123123'
|
||||||
WHERE ("Id" = '5f26bf00-6ac3-cbe8-00da-7dd01be76e26')
|
WHERE ("Id" = '5f26bf00-6ac3-cbe8-00da-7dd01be76e26')
|
||||||
|
|
||||||
|
|
||||||
DELETE FROM "BeginEdit01" WHERE ("Id" = '5f26bf00-6ac3-cbe8-00da-7dd11bcf54dc')
|
DELETE FROM "T" WHERE ("Id" = '5f26bf00-6ac3-cbe8-00da-7dd11bcf54dc')
|
||||||
```
|
```
|
||||||
|
|
||||||
场景:winform 加载表数据后,一顿添加、修改、删除操作之后,点击【保存】
|
场景:winform 加载表数据后,一顿添加、修改、删除操作之后,点击【保存】
|
||||||
|
|
||||||
提醒:该操作只对变量 cts 有效,不是针对全表对比更新。
|
提醒:该操作只对变量 list 有效,不是针对全表对比更新。
|
||||||
|
|
||||||
## 6、MySql 特有功能 On Duplicate Key Update
|
## 6、MySql 特有功能 On Duplicate Key Update
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user