better markdown in readme

This commit is contained in:
Meir Blachman 2019-01-04 12:36:12 +02:00 committed by GitHub
parent 3790271db5
commit aceb191c60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

146
README.md
View File

@ -11,11 +11,11 @@ QQ Group:225982985
## Nuget ## Nuget
.net Install .net Install
``` ```ps1
Install-Package sqlSugar Install-Package sqlSugar
``` ```
.net core Install .net core Install
``` ```ps1
Install-Package sqlSugarCore Install-Package sqlSugarCore
``` ```
@ -25,7 +25,7 @@ https://github.com/sunkaixuan/SqlSugar/tree/master
# Let's look at a DEMO first # Let's look at a DEMO first
``` ```cs
//Create DbContext //Create DbContext
public class DbContext public class DbContext
{ {
@ -75,12 +75,12 @@ Transaction or multi table operation use SqlSugarClient
### 1.1 Create Connection ### 1.1 Create Connection
If you have system table permissions, use SystemTableConfig,else use AttributeConfig If you have system table permissions, use SystemTableConfig,else use AttributeConfig
```c ```cs
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer }); SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
``` ```
### 1.2 Introduction ### 1.2 Introduction
```c ```cs
var getAll = db.Queryable<Student>().ToList(); var getAll = db.Queryable<Student>().ToList();
var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList(); var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList();
var getByPrimaryKey = db.Queryable<Student>().InSingle(2); var getByPrimaryKey = db.Queryable<Student>().InSingle(2);
@ -96,7 +96,7 @@ var group = db.Queryable<Student>().GroupBy(it => it.Id)
``` ```
### 1.3 Page ### 1.3 Page
```c ```cs
var pageIndex = 1; var pageIndex = 1;
var pageSize = 2; var pageSize = 2;
var totalCount = 0; var totalCount = 0;
@ -118,25 +118,25 @@ var skip5 = db.Queryable<Student>().Skip(5).ToList();
### 1.4 Join ### 1.4 Join
#### easy join #### easy join
```c ```cs
//2 join //2 join
var list5 = db.Queryable<Student, School>((st, sc) => st.SchoolId == sc.Id).Select((st,sc)=>new {st.Name,st.Id,schoolName=sc.Name}).ToList(); var list5 = db.Queryable<Student, School>((st, sc) => st.SchoolId == sc.Id).Select((st,sc)=>new {st.Name,st.Id,schoolName=sc.Name}).ToList();
``` ```
```c ```cs
//3 join //3 join
var list6 = db.Queryable<Student, School,School>((st, sc,sc2) => st.SchoolId == sc.Id&&sc.Id==sc2.Id) var list6 = db.Queryable<Student, School,School>((st, sc,sc2) => st.SchoolId == sc.Id&&sc.Id==sc2.Id)
.Select((st, sc,sc2) => new { st.Name, st.Id, schoolName = sc.Name,schoolName2=sc2.Name }).ToList(); .Select((st, sc,sc2) => new { st.Name, st.Id, schoolName = sc.Name,schoolName2=sc2.Name }).ToList();
``` ```
```c ```cs
//3 join page //3 join page
var list7= db.Queryable<Student, School, School>((st, sc, sc2) => st.SchoolId == sc.Id && sc.Id == sc2.Id) var list7= db.Queryable<Student, School, School>((st, sc, sc2) => st.SchoolId == sc.Id && sc.Id == sc2.Id)
.Select((st, sc, sc2) => new { st.Name, st.Id, schoolName = sc.Name, schoolName2 = sc2.Name }).ToPageList(1,2); .Select((st, sc, sc2) => new { st.Name, st.Id, schoolName = sc.Name, schoolName2 = sc2.Name }).ToPageList(1,2);
``` ```
#### left join #### left join
```c ```cs
//join 2 //join 2
var list = db.Queryable<Student, School>((st, sc) => new object[] { var list = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.SchoolId==sc.Id JoinType.Left,st.SchoolId==sc.Id
@ -165,7 +165,7 @@ JoinType.Left,st.SchoolId==sc.Id
``` ```
### subquery ### subquery
```c ```cs
var getAll = db.Queryable<Student, School>((st, sc) => new object[] { var getAll = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.Id==sc.Id}) JoinType.Left,st.Id==sc.Id})
.Where(st => st.Id == SqlFunc.Subqueryable<School>().Where(s => s.Id == st.Id).Select(s => s.Id)) .Where(st => st.Id == SqlFunc.Subqueryable<School>().Where(s => s.Id == st.Id).Select(s => s.Id))
@ -178,7 +178,7 @@ SELECT `st`.`ID`,`st`.`SchoolId`,`st`.`Name`,`st`.`CreateTime`
``` ```
### 1.5 SqlFunctions ### 1.5 SqlFunctions
```c ```cs
var t1 = db.Queryable<Student>().Where(it => SqlFunc.ToLower(it.Name) == SqlFunc.ToLower("JACK")).ToList(); var t1 = db.Queryable<Student>().Where(it => SqlFunc.ToLower(it.Name) == SqlFunc.ToLower("JACK")).ToList();
//SELECT [Id],[SchoolId],[Name],[CreateTime] FROM [Student] WHERE ((LOWER([Name])) = (LOWER(@MethodConst0)) ) //SELECT [Id],[SchoolId],[Name],[CreateTime] FROM [Student] WHERE ((LOWER([Name])) = (LOWER(@MethodConst0)) )
@ -217,7 +217,7 @@ var t1 = db.Queryable<Student>().Where(it => SqlFunc.ToLower(it.Name) == SqlFunc
``` ```
### 1.6 Select ### 1.6 Select
```c ```cs
var s1 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList(); var s1 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
var s2 = db.Queryable<Student>().Select(it => new { id = it.Id, w = new { x = it } }).ToList(); var s2 = db.Queryable<Student>().Select(it => new { id = it.Id, w = new { x = it } }).ToList();
var s3 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList(); var s3 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
@ -226,7 +226,7 @@ var s5 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Student =
``` ```
### 1.7 Join Sql ### 1.7 Join Sql
```c ```cs
var join3 = db.Queryable("Student", "st") var join3 = db.Queryable("Student", "st")
.AddJoinInfo("School", "sh", "sh.id=st.schoolid") .AddJoinInfo("School", "sh", "sh.id=st.schoolid")
.Where("st.id>@id") .Where("st.id>@id")
@ -236,7 +236,7 @@ var join3 = db.Queryable("Student", "st")
``` ```
### 1.8 ADO.NET ### 1.8 ADO.NET
```c ```cs
var db = GetInstance(); var db = GetInstance();
var t1= db.Ado.SqlQuery<string>("select 'a'"); var t1= db.Ado.SqlQuery<string>("select 'a'");
var t2 = db.Ado.GetInt("select 1"); var t2 = db.Ado.GetInt("select 1");
@ -246,7 +246,7 @@ var t3 = db.Ado.GetDataTable("select 1 as id");
``` ```
### 1.9 Where ### 1.9 Where
```c ```cs
var list = db.Queryable<Student, School>((st, sc) => new object[] { var list = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.SchoolId==sc.Id JoinType.Left,st.SchoolId==sc.Id
}) })
@ -268,7 +268,7 @@ var list2 = db.Queryable<Student>()
## 2. Insert ## 2. Insert
```c ```cs
var insertObj = new Student() { Name = "jack", CreateTime = Convert.ToDateTime("2010-1-1") ,SchoolId=1}; var insertObj = new Student() { Name = "jack", CreateTime = Convert.ToDateTime("2010-1-1") ,SchoolId=1};
//Insert reutrn Insert Count //Insert reutrn Insert Count
@ -307,7 +307,7 @@ var s9 = db.Insertable(insertObjs.ToArray()).InsertColumns(it => new { it.Name }
``` ```
## 3. Delete ## 3. Delete
```c ```cs
var t1 = db.Deleteable<Student>().Where(new Student() { Id = 1 }).ExecuteCommand(); var t1 = db.Deleteable<Student>().Where(new Student() { Id = 1 }).ExecuteCommand();
//use lock //use lock
@ -325,7 +325,7 @@ var t5 = db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();
``` ```
## 4. Update ## 4. Update
```c ```cs
//update reutrn Update Count //update reutrn Update Count
var t1= db.Updateable(updateObj).ExecuteCommand(); var t1= db.Updateable(updateObj).ExecuteCommand();
@ -363,23 +363,23 @@ var t10 = db.Updateable<Student>()
##### Priority level ##### Priority level
AS>Add>Attribute AS>Add>Attribute
### 5.1 Add ### 5.1 Add
```c ```cs
db.MappingTables.Add() db.MappingTables.Add()
db.MappingColumns.Add() db.MappingColumns.Add()
db.IgnoreColumns.Add() db.IgnoreColumns.Add()
``` ```
### 5.2 AS ### 5.2 AS
```c ```cs
db.Queryable<T>().As("tableName").ToList(); db.Queryable<T>().As("tableName").ToList();
``` ```
### 5.3 Attribute ### 5.3 Attribute
```c ```cs
[SugarColumn(IsIgnore=true)] [SugarColumn(IsIgnore=true)]
public int TestId { get; set; } public int TestId { get; set; }
``` ```
## 6. Use Tran ## 6. Use Tran
```c ```cs
var result = db.Ado.UseTran(() => var result = db.Ado.UseTran(() =>
{ {
@ -390,8 +390,7 @@ var result = db.Ado.UseTran(() =>
}) })
``` ```
## 7. Use Store Procedure ## 7. Use Store Procedure
```c ```cs
var dt2 = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{p1=1,p2=null}); var dt2 = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{p1=1,p2=null});
//output //output
@ -401,74 +400,73 @@ var dt2 = db.Ado.UseStoredProcedure().GetDataTable("sp_school",p11,p22);
``` ```
## 8. DbFirst ## 8. DbFirst
```c ```cs
var db = GetInstance(); var db = GetInstance();
//Create all class //Create all class
db.DbFirst.CreateClassFile("c:\\Demo\\1"); db.DbFirst.CreateClassFile("c:\\Demo\\1");
//Create student calsss //Create student calsss
db.DbFirst.Where("Student").CreateClassFile("c:\\Demo\\2"); db.DbFirst.Where("Student").CreateClassFile("c:\\Demo\\2");
//Where(array) //Where(array)
//Mapping name //Mapping name
db.MappingTables.Add("ClassStudent", "Student"); db.MappingTables.Add("ClassStudent", "Student");
db.MappingColumns.Add("NewId", "Id", "ClassStudent"); db.MappingColumns.Add("NewId", "Id", "ClassStudent");
db.DbFirst.Where("Student").CreateClassFile("c:\\Demo\\3"); db.DbFirst.Where("Student").CreateClassFile("c:\\Demo\\3");
//Remove mapping //Remove mapping
db.MappingTables.Clear(); db.MappingTables.Clear();
//Create class with default value //Create class with default value
db.DbFirst.IsCreateDefaultValue().CreateClassFile("c:\\Demo\\4", "Demo.Models"); db.DbFirst.IsCreateDefaultValue().CreateClassFile("c:\\Demo\\4", "Demo.Models");
//Mapping and Attribute //Mapping and Attribute
db.MappingTables.Add("ClassStudent", "Student"); db.MappingTables.Add("ClassStudent", "Student");
db.MappingColumns.Add("NewId", "Id", "ClassStudent"); db.MappingColumns.Add("NewId", "Id", "ClassStudent");
db.DbFirst.IsCreateAttribute().Where("Student").CreateClassFile("c:\\Demo\\5"); db.DbFirst.IsCreateAttribute().Where("Student").CreateClassFile("c:\\Demo\\5");
//Remove mapping
db.MappingTables.Clear();
db.MappingColumns.Clear();
//Remove mapping //Custom format,Change old to new
db.MappingTables.Clear(); db.DbFirst
db.MappingColumns.Clear(); .SettingClassTemplate(old =>
{
//Custom format,Change old to new return old;
db.DbFirst. })
SettingClassTemplate(old => .SettingNamespaceTemplate(old =>
{ {
return old; return old;
}) })
.SettingNamespaceTemplate(old => .SettingPropertyDescriptionTemplate(old =>
{ {
return old;
})
.SettingPropertyDescriptionTemplate(old =>
{
return @" /// <summary> return @" /// <summary>
/// Desc_New:{PropertyDescription} /// Desc_New:{PropertyDescription}
/// Default_New:{DefaultValue} /// Default_New:{DefaultValue}
/// Nullable_New:{IsNullable} /// Nullable_New:{IsNullable}
/// </summary>"; /// </summary>";
}) })
.SettingPropertyTemplate(old => .SettingPropertyTemplate(old =>
{ {
return old; return old;
}) })
.SettingConstructorTemplate(old => .SettingConstructorTemplate(old =>
{ {
return old; return old;
}) })
.CreateClassFile("c:\\Demo\\6"); .CreateClassFile("c:\\Demo\\6");
} }
``` ```
## 8.Code First ## 8.Code First
``` ```cs
db.CodeFirst.BackupTable().InitTables(typeof(CodeTable),typeof(CodeTable2)); //change entity backupTable db.CodeFirst.BackupTable().InitTables(typeof(CodeTable),typeof(CodeTable2)); //change entity backupTable
db.CodeFirst.InitTables(typeof(CodeTable),typeof(CodeTable2)); db.CodeFirst.InitTables(typeof(CodeTable),typeof(CodeTable2));
``` ```
## 9. AOP LOG ## 9. AOP LOG
``` ```cs
db.Aop.OnLogExecuted = (sql, pars) => //SQL executed event db.Aop.OnLogExecuted = (sql, pars) => //SQL executed event
{ {