udpate

2881099
2022-08-13 17:28:35 +08:00
parent 21cf0a0453
commit bfac696895

@@ -38,9 +38,15 @@ fsql.InsertOrUpdateDict(dic).AsTable("table1").WherePrimary("id").ExecuteAffrows
- InsertDict/UpdateDict/DeleteDict/InsertOrUpdateDict 都支持批量操作,对应类型 List\<Dictionary\<string, object\>\>
## 动态条件 WhereDynamicFilter
## 动态条件
ISelect.WhereDynamicFilter 方法实现动态过滤条件(与前端交互),支持的操作符
1、ISelect.Where(string sql) 使用原生条件
```csharp
fsql.Select<Region>().Where("a.id > 0") //提示存在SQL注入安全问题
```
2、ISelect.WhereDynamicFilter 方法实现动态过滤条件(与前端交互),支持的操作符:
- Contains/StartsWith/EndsWith/NotContains/NotStartsWith/NotEndsWith包含/不包含like '%xx%',或者 like 'xx%',或者 like '%xx'
- Equal/NotEqual等于/不等于
@@ -77,9 +83,15 @@ fsql.Select<Region>().WhereDynamicFilter(dyfilter).ToList();
[《高效理解 FreeSql WhereDynamicFilter深入了解设计初衷》](https://www.cnblogs.com/FreeSql/p/16485310.html)
## 动态排序 OrderByPropertyName
## 动态排序
ISelect.OrderByPropertyName 方法实现动态排序,如下
1、ISelect.OrderBy(string sql) 使用原生排序
```csharp
fsql.Select<Region>().OrderBy("a.id desc") //提示存在SQL注入安全问题
```
2、ISelect.OrderByPropertyName 使用属性名排序:
- 支持导航属性,比如 OrderByPropertyName("Parent.Code")
- 支持多表查询,比如 OrderByPropertyName("b.Code")
@@ -115,5 +127,16 @@ dtos.IncludeByPropertyName(
);
```
## 动态返回数据 ToDataTableByPropertyName
## 动态返回数据
1、ISelect.ToList 使用原生SQL返回数据
```csharp
List<(int, string)> list = fsql.Select<Region>()
.ToList<(int, string)>("a.id,a.name") //提示存在SQL注入安全问题
```
2、ISelect.ToDataTableByPropertyName 使用属性名返回数据:
- 支持导航属性,比如 ToDataTableByPropertyName("Parent.Code")
- 支持多表查询,比如 ToDataTableByPropertyName("b.Code")