Skip to content

Commit 3dbb05b

Browse files
committed
add _SqlMapLayout.cshtml
1 parent de147ec commit 3dbb05b

File tree

5 files changed

+120
-117
lines changed

5 files changed

+120
-117
lines changed

src/SmartCode.CLI/OfficialRazorTemplates/SqlMap-MySql.cshtml

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
@using SmartCode.Db
33
@model BuildContext
44
@{
5+
Layout = "_SqlMapLayout.cshtml";
56
var project = Model.Project;
67
var dbSource = Model.GetDataSource<DbSource>();
78
var buildTask = Model.Build;
@@ -18,43 +19,30 @@
1819
var resultMapName = $"{table.ConvertedName}ResultMap";
1920
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
2021
}
21-
22-
<SmartSqlMap Scope="@table.ConvertedName" xmlns="http://SmartSql.net/schemas/SmartSqlMap.xsd">
23-
@{ await Html.RenderPartialAsync("SqlMap-ResultMaps.cshtml", Model); }
24-
<Statements>
25-
<Statement Id="QueryParams">
26-
<Where>
27-
</Where>
28-
</Statement>
29-
@{ await Html.RenderPartialAsync("SqlMap-Insert.cshtml", Model); }
30-
@{ await Html.RenderPartialAsync("SqlMap-Delete.cshtml", Model); }
31-
@{ await Html.RenderPartialAsync("SqlMap-Update.cshtml", Model); }
32-
@{ await Html.RenderPartialAsync("SqlMap-Query.cshtml", Model); }
33-
34-
<!--获取分页数据-->
35-
<Statement Id="QueryByPage" @(queryStatementResultMap)>
36-
Select T.* From @table.Name As T
37-
<Include RefId="QueryParams" />
38-
<Switch Prepend="Order By" Property="OrderBy">
39-
<Default>
40-
T.@pkCol.Name Desc
41-
</Default>
42-
</Switch>
43-
Limit ?Offset,?PageSize
44-
</Statement>
45-
@{ await Html.RenderPartialAsync("SqlMap-GetRecord.cshtml", Model); }
46-
47-
<!--获取表映射实体-->
48-
<Statement Id="GetEntity" @(queryStatementResultMap)>
49-
Select T.* From @table.Name As T
50-
<Where>
51-
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
52-
T.@pkCol.Name= @($"{prefix}{pkCol.ConvertedName}")
53-
</IsNotEmpty>
54-
</Where>
55-
Limit 1
56-
</Statement>
57-
@{ await Html.RenderPartialAsync("SqlMap-IsExist.cshtml", Model); }
58-
59-
</Statements>
60-
</SmartSqlMap>
22+
@section QueryByPage
23+
{
24+
<!--获取分页数据-->
25+
<Statement Id="QueryByPage" @(queryStatementResultMap)>
26+
Select T.* From @table.Name As T
27+
<Include RefId="QueryParams" />
28+
<Switch Prepend="Order By" Property="OrderBy">
29+
<Default>
30+
T.@pkCol.Name Desc
31+
</Default>
32+
</Switch>
33+
Limit ?Offset,?PageSize
34+
</Statement>
35+
}
36+
@section GetEntity
37+
{
38+
<!--获取表映射实体-->
39+
<Statement Id="GetEntity" @(queryStatementResultMap)>
40+
Select T.* From @table.Name As T
41+
<Where>
42+
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
43+
T.@pkCol.Name= @($"{prefix}{pkCol.ConvertedName}")
44+
</IsNotEmpty>
45+
</Where>
46+
Limit 1
47+
</Statement>
48+
}

src/SmartCode.CLI/OfficialRazorTemplates/SqlMap-PostgreSql.cshtml

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@using SmartCode.CLI
44
@model BuildContext
55
@{
6+
Layout = "_SqlMapLayout.cshtml";
67
var project = Model.Project;
78
var dbSource = Model.GetDataSource<DbSource>();
89
var buildTask = Model.Build;
@@ -20,44 +21,30 @@
2021
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
2122
}
2223

23-
<SmartSqlMap Scope="@table.ConvertedName" xmlns="http://SmartSql.net/schemas/SmartSqlMap.xsd">
24-
@{ await Html.RenderPartialAsync("SqlMap-ResultMaps.cshtml", Model); }
25-
<Statements>
26-
<Statement Id="QueryParams">
27-
<Where>
28-
</Where>
29-
</Statement>
30-
@{ await Html.RenderPartialAsync("SqlMap-Insert.cshtml", Model); }
31-
@{ await Html.RenderPartialAsync("SqlMap-Delete.cshtml", Model); }
32-
@{ await Html.RenderPartialAsync("SqlMap-Update.cshtml", Model); }
33-
@{ await Html.RenderPartialAsync("SqlMap-Query.cshtml", Model); }
34-
35-
<!--获取分页数据-->
36-
<Statement Id="QueryByPage" @queryStatementResultMap>
37-
Select T.* From @table.Name As T
38-
<Include RefId="QueryParams" />
39-
<Switch Prepend="Order By" Property="OrderBy">
40-
<Default>
41-
T.@pkCol.Name Desc
42-
</Default>
43-
</Switch>
44-
Limit @("@PageSize") Offset @("@Offset")
45-
</Statement>
46-
47-
@{ await Html.RenderPartialAsync("SqlMap-GetRecord.cshtml", Model); }
48-
49-
<!--获取表映射实体-->
50-
<Statement Id="GetEntity" @queryStatementResultMap>
51-
Select T.* From @table.Name T
52-
<Where>
53-
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
54-
T.@pkCol.Name=@[email protected]
55-
</IsNotEmpty>
56-
</Where>
57-
Limit 1
58-
</Statement>
59-
60-
@{ await Html.RenderPartialAsync("SqlMap-IsExist.cshtml", Model); }
61-
62-
</Statements>
63-
</SmartSqlMap>
24+
@section QueryByPage
25+
{
26+
<!--获取分页数据-->
27+
<Statement Id="QueryByPage" @queryStatementResultMap>
28+
Select T.* From @table.Name As T
29+
<Include RefId="QueryParams" />
30+
<Switch Prepend="Order By" Property="OrderBy">
31+
<Default>
32+
T.@pkCol.Name Desc
33+
</Default>
34+
</Switch>
35+
Limit @("@PageSize") Offset @("@Offset")
36+
</Statement>
37+
}
38+
@section GetEntity
39+
{
40+
<!--获取表映射实体-->
41+
<Statement Id="GetEntity" @queryStatementResultMap>
42+
Select T.* From @table.Name T
43+
<Where>
44+
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
45+
T.@pkCol.Name=@prefix@pkCol.ConvertedName
46+
</IsNotEmpty>
47+
</Where>
48+
Limit 1
49+
</Statement>
50+
}

src/SmartCode.CLI/OfficialRazorTemplates/SqlMap-SqlServer.cshtml

Lines changed: 23 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@using SmartCode.CLI
44
@model BuildContext
55
@{
6+
Layout = "_SqlMapLayout.cshtml";
67
var project = Model.Project;
78
var dbSource = Model.GetDataSource<DbSource>();
89
var buildTask = Model.Build;
@@ -20,38 +21,25 @@
2021
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
2122
}
2223

23-
<SmartSqlMap Scope="@table.ConvertedName" xmlns="http://SmartSql.net/schemas/SmartSqlMap.xsd">
24-
@{ await Html.RenderPartialAsync("SqlMap-ResultMaps.cshtml", Model); }
25-
<Statements>
26-
<Statement Id="QueryParams">
27-
<Where>
28-
</Where>
29-
</Statement>
30-
@{ await Html.RenderPartialAsync("SqlMap-Insert.cshtml", Model); }
31-
@{ await Html.RenderPartialAsync("SqlMap-Delete.cshtml", Model); }
32-
@{ await Html.RenderPartialAsync("SqlMap-Update.cshtml", Model); }
33-
@{ await Html.RenderPartialAsync("SqlMap-Query.cshtml", Model); }
34-
35-
<!--获取分页数据-->
36-
<Statement Id="QueryByPage" @queryStatementResultMap>
37-
Select TT.* From
38-
(Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T With(NoLock)
39-
<Include RefId="QueryParams" />) TT
40-
Where TT.Row_Index Between ((@@PageIndex-1)*@@PageSize+1) And (@@PageIndex*@@PageSize)
41-
</Statement>
42-
43-
@{ await Html.RenderPartialAsync("SqlMap-GetRecord.cshtml", Model); }
44-
45-
<!--获取表映射实体-->
46-
<Statement Id="GetEntity" @queryStatementResultMap>
47-
Select Top 1 T.* From @table.Name T With(NoLock)
48-
<Where>
49-
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
50-
T.@pkCol.Name=@[email protected]
51-
</IsNotEmpty>
52-
</Where>
53-
</Statement>
54-
@{ await Html.RenderPartialAsync("SqlMap-IsExist.cshtml", Model); }
55-
56-
</Statements>
57-
</SmartSqlMap>
24+
@section QueryByPage
25+
{
26+
<!--获取分页数据-->
27+
<Statement Id="QueryByPage" @queryStatementResultMap>
28+
Select TT.* From
29+
(Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T With(NoLock)
30+
<Include RefId="QueryParams" />) TT
31+
Where TT.Row_Index Between ((@@PageIndex-1)*@@PageSize+1) And (@@PageIndex*@@PageSize)
32+
</Statement>
33+
}
34+
@section GetEntity
35+
{
36+
<!--获取表映射实体-->
37+
<Statement Id="GetEntity" @queryStatementResultMap>
38+
Select Top 1 T.* From @table.Name T With(NoLock)
39+
<Where>
40+
<IsNotEmpty Prepend="And" Property="@pkCol.ConvertedName">
41+
T.@pkCol.Name=@prefix@pkCol.ConvertedName
42+
</IsNotEmpty>
43+
</Where>
44+
</Statement>
45+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
@using SmartCode
2+
@using SmartCode.Db
3+
@model BuildContext
4+
@{
5+
var project = Model.Project;
6+
var dbSource = Model.GetDataSource<DbSource>();
7+
var buildTask = Model.Build;
8+
var table = Model.GetCurrentTable();
9+
var pkCol = table.PKColumn;
10+
if (pkCol == null)
11+
{
12+
throw new SmartCodeException($"{table.Name} can not find PKColumn!");
13+
}
14+
}
15+
16+
<SmartSqlMap Scope="@table.ConvertedName" xmlns="http://SmartSql.net/schemas/SmartSqlMap.xsd">
17+
@{ await Html.RenderPartialAsync("SqlMap-ResultMaps.cshtml", Model); }
18+
<Statements>
19+
<Statement Id="QueryParams">
20+
<Where>
21+
</Where>
22+
</Statement>
23+
@{ await Html.RenderPartialAsync("SqlMap-Insert.cshtml", Model); }
24+
@{ await Html.RenderPartialAsync("SqlMap-Delete.cshtml", Model); }
25+
@{ await Html.RenderPartialAsync("SqlMap-Update.cshtml", Model); }
26+
@{ await Html.RenderPartialAsync("SqlMap-Query.cshtml", Model); }
27+
28+
@RenderSection("QueryByPage", required: false)
29+
30+
@{ await Html.RenderPartialAsync("SqlMap-GetRecord.cshtml", Model); }
31+
32+
@RenderSection("GetEntity", required: false)
33+
34+
@{ await Html.RenderPartialAsync("SqlMap-IsExist.cshtml", Model); }
35+
36+
</Statements>
37+
</SmartSqlMap>

src/SmartCode.CLI/SmartCode.CLI.csproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<RepositoryType>Github</RepositoryType>
2121
<PackageTags>SmartCode SmartSql</PackageTags>
2222
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
23-
<Version>1.4.2</Version>
23+
<Version>1.4.3</Version>
2424
<PackageIconUrl>https://raw.githubusercontent.com/Ahoo-Wang/SmartCode/master/doc/Logo.png</PackageIconUrl>
2525
</PropertyGroup>
2626

@@ -68,6 +68,9 @@
6868
<None Update="OfficialRazorTemplates\Sln.cshtml">
6969
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
7070
</None>
71+
<None Update="OfficialRazorTemplates\_SqlMapLayout.cshtml">
72+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
73+
</None>
7174
<None Update="OfficialRazorTemplates\SqlMap-Columns.cshtml">
7275
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
7376
</None>

0 commit comments

Comments
 (0)