Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
EShop
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
EShop
Commits
e266cf93
Commit
e266cf93
authored
Apr 29, 2020
by
gdlcf88
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add IsHidden property to Product and Category, close #8
Static products, close #6 Fix sku updating feature
parent
ba5e397c
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
2550 additions
and
12 deletions
+2550
-12
GetCategoryListDto.cs
...yAbp/EShop/Products/Categories/Dtos/GetCategoryListDto.cs
+9
-0
ICategoryAppService.cs
.../EasyAbp/EShop/Products/Categories/ICategoryAppService.cs
+1
-1
GetProductListDto.cs
...EasyAbp/EShop/Products/Products/Dtos/GetProductListDto.cs
+2
-0
ProductDto.cs
...tracts/EasyAbp/EShop/Products/Products/Dtos/ProductDto.cs
+4
-0
CategoryAppService.cs
...n/EasyAbp/EShop/Products/Categories/CategoryAppService.cs
+9
-1
ProductAppService.cs
...tion/EasyAbp/EShop/Products/Products/ProductAppService.cs
+26
-2
StaticProductCannotBeModifiedException.cs
...oducts/Products/StaticProductCannotBeModifiedException.cs
+13
-0
Category.cs
...ucts.Domain/EasyAbp/EShop/Products/Categories/Category.cs
+5
-1
Product.cs
...roducts.Domain/EasyAbp/EShop/Products/Products/Product.cs
+8
-0
index.js
...cts.Web/Pages/EShop/Products/Categories/Category/index.js
+3
-1
CreateModal.cshtml.cs
...ges/EShop/Products/Products/Product/CreateModal.cshtml.cs
+1
-1
EditModal.cshtml.cs
...Pages/EShop/Products/Products/Product/EditModal.cshtml.cs
+2
-1
index.js
...oducts.Web/Pages/EShop/Products/Products/Product/index.js
+1
-1
CreateModal.cshtml
...ges/EShop/Products/Products/ProductSku/CreateModal.cshtml
+3
-3
EditModal.cshtml
...Pages/EShop/Products/Products/ProductSku/EditModal.cshtml
+2
-0
EditModal.cshtml.cs
...es/EShop/Products/Products/ProductSku/EditModal.cshtml.cs
+2
-0
20200429100034_AddedIsHiddenAndIsStatic.Designer.cs
...tions/20200429100034_AddedIsHiddenAndIsStatic.Designer.cs
+2407
-0
20200429100034_AddedIsHiddenAndIsStatic.cs
...ons/Migrations/20200429100034_AddedIsHiddenAndIsStatic.cs
+43
-0
EasyMallMigrationsDbContextModelSnapshot.cs
...ns/Migrations/EasyMallMigrationsDbContextModelSnapshot.cs
+9
-0
No files found.
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Categories/Dtos/GetCategoryListDto.cs
0 → 100644
View file @
e266cf93
using
Volo.Abp.Application.Dtos
;
namespace
EasyAbp.EShop.Products.Categories.Dtos
{
public
class
GetCategoryListDto
:
PagedAndSortedResultRequestDto
{
public
bool
ShowHidden
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Categories/ICategoryAppService.cs
View file @
e266cf93
...
...
@@ -9,7 +9,7 @@ namespace EasyAbp.EShop.Products.Categories
ICrudAppService
<
CategoryDto
,
Guid
,
PagedAndSortedResultReque
stDto
,
GetCategoryLi
stDto
,
CreateUpdateCategoryDto
,
CreateUpdateCategoryDto
>
{
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/GetProductListDto.cs
View file @
e266cf93
...
...
@@ -8,5 +8,7 @@ namespace EasyAbp.EShop.Products.Products.Dtos
public
Guid
StoreId
{
get
;
set
;
}
public
Guid
?
CategoryId
{
get
;
set
;
}
public
bool
ShowHidden
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/ProductDto.cs
View file @
e266cf93
...
...
@@ -22,6 +22,10 @@ namespace EasyAbp.EShop.Products.Products.Dtos
public
bool
IsPublished
{
get
;
set
;
}
public
bool
IsStatic
{
get
;
set
;
}
public
bool
IsHidden
{
get
;
set
;
}
public
ICollection
<
ProductAttributeDto
>
ProductAttributes
{
get
;
set
;
}
public
ICollection
<
ProductSkuDto
>
ProductSkus
{
get
;
set
;
}
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Categories/CategoryAppService.cs
View file @
e266cf93
using
System
;
using
System.Linq
;
using
EasyAbp.EShop.Products.Authorization
;
using
EasyAbp.EShop.Products.Categories.Dtos
;
using
Volo.Abp.Application.Dtos
;
...
...
@@ -6,7 +7,7 @@ using Volo.Abp.Application.Services;
namespace
EasyAbp.EShop.Products.Categories
{
public
class
CategoryAppService
:
CrudAppService
<
Category
,
CategoryDto
,
Guid
,
PagedAndSortedResultReque
stDto
,
CreateUpdateCategoryDto
,
CreateUpdateCategoryDto
>,
public
class
CategoryAppService
:
CrudAppService
<
Category
,
CategoryDto
,
Guid
,
GetCategoryLi
stDto
,
CreateUpdateCategoryDto
,
CreateUpdateCategoryDto
>,
ICategoryAppService
{
protected
override
string
CreatePolicyName
{
get
;
set
;
}
=
ProductsPermissions
.
Categories
.
Create
;
...
...
@@ -21,5 +22,12 @@ namespace EasyAbp.EShop.Products.Categories
{
_repository
=
repository
;
}
protected
override
IQueryable
<
Category
>
CreateFilteredQuery
(
GetCategoryListDto
input
)
{
var
query
=
base
.
CreateFilteredQuery
(
input
);
return
input
.
ShowHidden
?
query
:
query
.
Where
(
x
=>
!
x
.
IsHidden
);
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs
View file @
e266cf93
...
...
@@ -41,9 +41,11 @@ namespace EasyAbp.EShop.Products.Products
protected
override
IQueryable
<
Product
>
CreateFilteredQuery
(
GetProductListDto
input
)
{
return
input
.
CategoryId
.
HasValue
var
query
=
input
.
CategoryId
.
HasValue
?
_repository
.
GetQueryable
(
input
.
StoreId
,
input
.
CategoryId
.
Value
)
:
_repository
.
GetQueryable
(
input
.
StoreId
);
return
input
.
ShowHidden
?
query
:
query
.
Where
(
x
=>
!
x
.
IsHidden
);
}
public
override
async
Task
<
ProductDto
>
CreateAsync
(
CreateUpdateProductDto
input
)
...
...
@@ -94,6 +96,8 @@ namespace EasyAbp.EShop.Products.Products
var
product
=
await
GetEntityByIdAsync
(
id
);
CheckProductIsNotStatic
(
product
);
MapToEntity
(
input
,
product
);
await
UpdateProductAttributesAsync
(
product
,
input
);
...
...
@@ -174,11 +178,25 @@ namespace EasyAbp.EShop.Products.Products
public
async
Task
DeleteAsync
(
Guid
id
,
Guid
storeId
)
{
await
CheckDeletePolicyAsync
();
var
product
=
await
GetEntityByIdAsync
(
id
);
CheckProductIsNotStatic
(
product
);
await
_productCategoryRepository
.
DeleteAsync
(
x
=>
x
.
ProductId
.
Equals
(
id
));
await
CheckStoreIsProductOwnerAsync
(
id
,
storeId
);
await
base
.
DeleteAsync
(
id
);
await
_repository
.
DeleteAsync
(
product
);
}
private
static
void
CheckProductIsNotStatic
(
Product
product
)
{
if
(
product
.
IsStatic
)
{
throw
new
StaticProductCannotBeModifiedException
(
product
.
Id
);
}
}
public
async
Task
<
ProductDto
>
CreateSkuAsync
(
Guid
productId
,
Guid
storeId
,
CreateProductSkuDto
input
)
...
...
@@ -189,6 +207,8 @@ namespace EasyAbp.EShop.Products.Products
var
product
=
await
GetEntityByIdAsync
(
productId
);
CheckProductIsNotStatic
(
product
);
input
.
SerializedAttributeOptionIds
=
await
_serializedAttributeOptionIdsFormatter
.
ParseAsync
(
input
.
SerializedAttributeOptionIds
);
...
...
@@ -224,6 +244,8 @@ namespace EasyAbp.EShop.Products.Products
var
product
=
await
GetEntityByIdAsync
(
productId
);
CheckProductIsNotStatic
(
product
);
var
sku
=
product
.
ProductSkus
.
Single
(
x
=>
x
.
Id
==
productSkuId
);
ObjectMapper
.
Map
(
input
,
sku
);
...
...
@@ -241,6 +263,8 @@ namespace EasyAbp.EShop.Products.Products
var
product
=
await
GetEntityByIdAsync
(
productId
);
CheckProductIsNotStatic
(
product
);
var
sku
=
product
.
ProductSkus
.
Single
(
x
=>
x
.
Id
==
productSkuId
);
product
.
ProductSkus
.
Remove
(
sku
);
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/StaticProductCannotBeModifiedException.cs
0 → 100644
View file @
e266cf93
using
System
;
using
Volo.Abp
;
namespace
EasyAbp.EShop.Products.Products
{
public
class
StaticProductCannotBeModifiedException
:
BusinessException
{
public
StaticProductCannotBeModifiedException
(
Guid
productId
)
:
base
(
message
:
$"Cannot modify the static product:
{
productId
}
"
)
{
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Categories/Category.cs
View file @
e266cf93
...
...
@@ -20,6 +20,8 @@ namespace EasyAbp.EShop.Products.Categories
[
CanBeNull
]
public
virtual
string
MediaResources
{
get
;
protected
set
;
}
public
virtual
bool
IsHidden
{
get
;
protected
set
;
}
protected
Category
()
{
}
...
...
@@ -30,7 +32,8 @@ namespace EasyAbp.EShop.Products.Categories
Guid
?
parentCategoryId
,
string
displayName
,
string
description
,
string
mediaResources
string
mediaResources
,
bool
isHidden
)
:
base
(
id
)
{
TenantId
=
tenantId
;
...
...
@@ -38,6 +41,7 @@ namespace EasyAbp.EShop.Products.Categories
DisplayName
=
displayName
;
Description
=
description
;
MediaResources
=
mediaResources
;
IsHidden
=
isHidden
;
}
}
}
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/Product.cs
View file @
e266cf93
...
...
@@ -24,6 +24,10 @@ namespace EasyAbp.EShop.Products.Products
public
virtual
bool
IsPublished
{
get
;
protected
set
;
}
public
virtual
bool
IsStatic
{
get
;
protected
set
;
}
public
virtual
bool
IsHidden
{
get
;
protected
set
;
}
public
virtual
ICollection
<
ProductAttribute
>
ProductAttributes
{
get
;
protected
set
;
}
public
virtual
ICollection
<
ProductSku
>
ProductSkus
{
get
;
protected
set
;
}
...
...
@@ -41,6 +45,8 @@ namespace EasyAbp.EShop.Products.Products
string
displayName
,
InventoryStrategy
inventoryStrategy
,
bool
isPublished
,
bool
isStatic
,
bool
isHidden
,
string
mediaResources
,
int
displayOrder
)
:
base
(
id
)
...
...
@@ -50,6 +56,8 @@ namespace EasyAbp.EShop.Products.Products
DisplayName
=
displayName
;
InventoryStrategy
=
inventoryStrategy
;
IsPublished
=
isPublished
;
IsStatic
=
isStatic
;
IsHidden
=
isHidden
;
MediaResources
=
mediaResources
;
DisplayOrder
=
displayOrder
;
ProductAttributes
=
new
List
<
ProductAttribute
>();
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Categories/Category/index.js
View file @
e266cf93
...
...
@@ -14,7 +14,9 @@ $(function () {
autoWidth
:
false
,
scrollCollapse
:
true
,
order
:
[[
1
,
"
asc
"
]],
ajax
:
abp
.
libs
.
datatables
.
createAjax
(
service
.
getList
),
ajax
:
abp
.
libs
.
datatables
.
createAjax
(
service
.
getList
,
function
()
{
return
{
showHidden
:
true
}
}),
columnDefs
:
[
{
rowAction
:
{
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/CreateModal.cshtml.cs
View file @
e266cf93
...
...
@@ -53,7 +53,7 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.Product
.
Select
(
dto
=>
new
SelectListItem
(
dto
.
DisplayName
,
dto
.
Id
.
ToString
())).
ToList
();
Categories
=
(
await
_categoryAppService
.
GetListAsync
(
new
PagedAndSortedResultReque
stDto
(
await
_categoryAppService
.
GetListAsync
(
new
GetCategoryLi
stDto
{
MaxResultCount
=
LimitedResultRequestDto
.
MaxMaxResultCount
}))?.
Items
.
Select
(
dto
=>
new
SelectListItem
(
dto
.
DisplayName
,
dto
.
Id
.
ToString
())).
ToList
();
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/EditModal.cshtml.cs
View file @
e266cf93
...
...
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using
System.Linq
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.Categories
;
using
EasyAbp.EShop.Products.Categories.Dtos
;
using
EasyAbp.EShop.Products.ProductDetails
;
using
EasyAbp.EShop.Products.ProductDetails.Dtos
;
using
Microsoft.AspNetCore.Mvc
;
...
...
@@ -53,7 +54,7 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.Product
.
Select
(
dto
=>
new
SelectListItem
(
dto
.
DisplayName
,
dto
.
Id
.
ToString
())).
ToList
();
Categories
=
(
await
_categoryAppService
.
GetListAsync
(
new
PagedAndSortedResultReque
stDto
(
await
_categoryAppService
.
GetListAsync
(
new
GetCategoryLi
stDto
{
MaxResultCount
=
LimitedResultRequestDto
.
MaxMaxResultCount
}))?.
Items
.
Select
(
dto
=>
new
SelectListItem
(
dto
.
DisplayName
,
dto
.
Id
.
ToString
())).
ToList
();
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/index.js
View file @
e266cf93
...
...
@@ -15,7 +15,7 @@ $(function () {
scrollCollapse
:
true
,
order
:
[[
1
,
"
asc
"
]],
ajax
:
abp
.
libs
.
datatables
.
createAjax
(
service
.
getList
,
function
()
{
return
{
storeId
:
storeId
,
categoryId
:
categoryId
}
return
{
storeId
:
storeId
,
categoryId
:
categoryId
,
showHidden
:
true
}
}),
columnDefs
:
[
{
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/CreateModal.cshtml
View file @
e266cf93
...
...
@@ -9,13 +9,13 @@
<abp-modal>
<abp-modal-header title="@L["CreateProductSku"].Value"></abp-modal-header>
<abp-modal-body>
<abp-input asp-for="StoreId" />
<abp-input asp-for="ProductId" />
<abp-form-content/>
@foreach (var attr in Model.Attributes)
{
<abp-select asp-for="@Model.SelectedAttributeOptionIdDict[attr.Key]" asp-items="@attr.Value" label="@L["ProductAttribute"].Value - @attr.Key"
/>
<abp-select asp-for="@Model.SelectedAttributeOptionIdDict[attr.Key]" asp-items="@attr.Value" label="@L["ProductAttribute"].Value - @attr.Key"/>
}
<abp-input asp-for="StoreId" />
<abp-input asp-for="ProductId" />
</abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer>
</abp-modal>
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/EditModal.cshtml
View file @
e266cf93
...
...
@@ -10,6 +10,8 @@
<abp-modal-header title="@L["EditProductSku"].Value"></abp-modal-header>
<abp-modal-body>
<abp-input asp-for="Id" />
<abp-input asp-for="StoreId" />
<abp-input asp-for="ProductId" />
<abp-form-content />
</abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer>
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/EditModal.cshtml.cs
View file @
e266cf93
...
...
@@ -16,9 +16,11 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.ProductSku
[
BindProperty
(
SupportsGet
=
true
)]
public
Guid
Id
{
get
;
set
;
}
[
HiddenInput
]
[
BindProperty
(
SupportsGet
=
true
)]
public
Guid
StoreId
{
get
;
set
;
}
[
HiddenInput
]
[
BindProperty
(
SupportsGet
=
true
)]
public
Guid
ProductId
{
get
;
set
;
}
...
...
samples/EasyMall/aspnet-core/src/EasyMall.EntityFrameworkCore.DbMigrations/Migrations/20200429100034_AddedIsHiddenAndIsStatic.Designer.cs
0 → 100644
View file @
e266cf93
// <auto-generated />
using
System
;
using
EasyMall.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Migrations
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
namespace
EasyMall.Migrations
{
[
DbContext
(
typeof
(
EasyMallMigrationsDbContext
))]
[
Migration
(
"20200429100034_AddedIsHiddenAndIsStatic"
)]
partial
class
AddedIsHiddenAndIsStatic
{
protected
override
void
BuildTargetModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"ProductVersion"
,
"3.1.2"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Categories.Category"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
bool
>(
"IsHidden"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"MediaResources"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
?>(
"ParentCategoryId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsCategories"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.ProductCategories.ProductCategory"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"CategoryId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"DisplayOrder"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"ProductId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsProductCategories"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.ProductDetails.ProductDetail"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsProductDetails"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.ProductStores.ProductStore"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
bool
>(
"IsOwner"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"ProductId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"StoreId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsProductStores"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.ProductTypes.ProductType"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"MultiTenancySide"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsProductTypes"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.Product"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"DisplayOrder"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"InventoryStrategy"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
bool
>(
"IsHidden"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsPublished"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsStatic"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"MediaResources"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
>(
"ProductDetailId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"ProductTypeId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"ProductsProducts"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductAttribute"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"DisplayOrder"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"ProductId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ProductId"
);
b
.
ToTable
(
"ProductsProductAttributes"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductAttributeOption"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"DisplayOrder"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"ProductAttributeId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ProductAttributeId"
);
b
.
ToTable
(
"ProductsProductAttributeOptions"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductSku"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Currency"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
int
>(
"Inventory"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"OrderMinQuantity"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
decimal
>(
"OriginalPrice"
)
.
HasColumnType
(
"decimal(18,6)"
);
b
.
Property
<
decimal
>(
"Price"
)
.
HasColumnType
(
"decimal(18,6)"
);
b
.
Property
<
Guid
?>(
"ProductDetailId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"ProductId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"SerializedAttributeOptionIds"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"Sold"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ProductId"
);
b
.
ToTable
(
"ProductsProductSkus"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Stores.Stores.Store"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"StoresStores"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.AuditLog"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ApplicationName"
)
.
HasColumnName
(
"ApplicationName"
)
.
HasColumnType
(
"nvarchar(96)"
)
.
HasMaxLength
(
96
);
b
.
Property
<
string
>(
"BrowserInfo"
)
.
HasColumnName
(
"BrowserInfo"
)
.
HasColumnType
(
"nvarchar(512)"
)
.
HasMaxLength
(
512
);
b
.
Property
<
string
>(
"ClientId"
)
.
HasColumnName
(
"ClientId"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ClientIpAddress"
)
.
HasColumnName
(
"ClientIpAddress"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ClientName"
)
.
HasColumnName
(
"ClientName"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"Comments"
)
.
HasColumnName
(
"Comments"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"CorrelationId"
)
.
HasColumnName
(
"CorrelationId"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"Exceptions"
)
.
HasColumnName
(
"Exceptions"
)
.
HasColumnType
(
"nvarchar(4000)"
)
.
HasMaxLength
(
4000
);
b
.
Property
<
int
>(
"ExecutionDuration"
)
.
HasColumnName
(
"ExecutionDuration"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"ExecutionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"HttpMethod"
)
.
HasColumnName
(
"HttpMethod"
)
.
HasColumnType
(
"nvarchar(16)"
)
.
HasMaxLength
(
16
);
b
.
Property
<
int
?>(
"HttpStatusCode"
)
.
HasColumnName
(
"HttpStatusCode"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
Guid
?>(
"ImpersonatorTenantId"
)
.
HasColumnName
(
"ImpersonatorTenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"ImpersonatorUserId"
)
.
HasColumnName
(
"ImpersonatorUserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"TenantName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"Url"
)
.
HasColumnName
(
"Url"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
Guid
?>(
"UserId"
)
.
HasColumnName
(
"UserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"UserName"
)
.
HasColumnName
(
"UserName"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"TenantId"
,
"ExecutionTime"
);
b
.
HasIndex
(
"TenantId"
,
"UserId"
,
"ExecutionTime"
);
b
.
ToTable
(
"AbpAuditLogs"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.AuditLogAction"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"AuditLogId"
)
.
HasColumnName
(
"AuditLogId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"ExecutionDuration"
)
.
HasColumnName
(
"ExecutionDuration"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"ExecutionTime"
)
.
HasColumnName
(
"ExecutionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"MethodName"
)
.
HasColumnName
(
"MethodName"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"Parameters"
)
.
HasColumnName
(
"Parameters"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
string
>(
"ServiceName"
)
.
HasColumnName
(
"ServiceName"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"AuditLogId"
);
b
.
HasIndex
(
"TenantId"
,
"ServiceName"
,
"MethodName"
,
"ExecutionTime"
);
b
.
ToTable
(
"AbpAuditLogActions"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.EntityChange"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"AuditLogId"
)
.
HasColumnName
(
"AuditLogId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
>(
"ChangeTime"
)
.
HasColumnName
(
"ChangeTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
byte
>(
"ChangeType"
)
.
HasColumnName
(
"ChangeType"
)
.
HasColumnType
(
"tinyint"
);
b
.
Property
<
string
>(
"EntityId"
)
.
IsRequired
()
.
HasColumnName
(
"EntityId"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
Guid
?>(
"EntityTenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"EntityTypeFullName"
)
.
IsRequired
()
.
HasColumnName
(
"EntityTypeFullName"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"AuditLogId"
);
b
.
HasIndex
(
"TenantId"
,
"EntityTypeFullName"
,
"EntityId"
);
b
.
ToTable
(
"AbpEntityChanges"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.EntityPropertyChange"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"EntityChangeId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"NewValue"
)
.
HasColumnName
(
"NewValue"
)
.
HasColumnType
(
"nvarchar(512)"
)
.
HasMaxLength
(
512
);
b
.
Property
<
string
>(
"OriginalValue"
)
.
HasColumnName
(
"OriginalValue"
)
.
HasColumnType
(
"nvarchar(512)"
)
.
HasMaxLength
(
512
);
b
.
Property
<
string
>(
"PropertyName"
)
.
IsRequired
()
.
HasColumnName
(
"PropertyName"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"PropertyTypeFullName"
)
.
IsRequired
()
.
HasColumnName
(
"PropertyTypeFullName"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"EntityChangeId"
);
b
.
ToTable
(
"AbpEntityPropertyChanges"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.BackgroundJobs.BackgroundJobRecord"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsAbandoned"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"JobArgs"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
1048576
);
b
.
Property
<
string
>(
"JobName"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
DateTime
?>(
"LastTryTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
DateTime
>(
"NextTryTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
byte
>(
"Priority"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"tinyint"
)
.
HasDefaultValue
((
byte
)
15
);
b
.
Property
<
short
>(
"TryCount"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"smallint"
)
.
HasDefaultValue
((
short
)
0
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"IsAbandoned"
,
"NextTryTime"
);
b
.
ToTable
(
"AbpBackgroundJobs"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.FeatureManagement.FeatureValue"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ProviderName"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"Value"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"Name"
,
"ProviderName"
,
"ProviderKey"
);
b
.
ToTable
(
"AbpFeatureValues"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityClaimType"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
IsRequired
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsStatic"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"Regex"
)
.
HasColumnType
(
"nvarchar(512)"
)
.
HasMaxLength
(
512
);
b
.
Property
<
string
>(
"RegexDescription"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
bool
>(
"Required"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
int
>(
"ValueType"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"AbpClaimTypes"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityRole"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
IsRequired
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDefault"
)
.
HasColumnName
(
"IsDefault"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsPublic"
)
.
HasColumnName
(
"IsPublic"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsStatic"
)
.
HasColumnName
(
"IsStatic"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"NormalizedName"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"NormalizedName"
);
b
.
ToTable
(
"AbpRoles"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityRoleClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ClaimType"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(1024)"
)
.
HasMaxLength
(
1024
);
b
.
Property
<
Guid
>(
"RoleId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"AbpRoleClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUser"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"AccessFailedCount"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"AccessFailedCount"
)
.
HasColumnType
(
"int"
)
.
HasDefaultValue
(
0
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Email"
)
.
IsRequired
()
.
HasColumnName
(
"Email"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
bool
>(
"EmailConfirmed"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"EmailConfirmed"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
bool
>(
"LockoutEnabled"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"LockoutEnabled"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTimeOffset
?>(
"LockoutEnd"
)
.
HasColumnType
(
"datetimeoffset"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnName
(
"Name"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"NormalizedEmail"
)
.
IsRequired
()
.
HasColumnName
(
"NormalizedEmail"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"NormalizedUserName"
)
.
IsRequired
()
.
HasColumnName
(
"NormalizedUserName"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"PasswordHash"
)
.
HasColumnName
(
"PasswordHash"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"PhoneNumber"
)
.
HasColumnName
(
"PhoneNumber"
)
.
HasColumnType
(
"nvarchar(16)"
)
.
HasMaxLength
(
16
);
b
.
Property
<
bool
>(
"PhoneNumberConfirmed"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"PhoneNumberConfirmed"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"SecurityStamp"
)
.
IsRequired
()
.
HasColumnName
(
"SecurityStamp"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"Surname"
)
.
HasColumnName
(
"Surname"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
bool
>(
"TwoFactorEnabled"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"TwoFactorEnabled"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"UserName"
)
.
IsRequired
()
.
HasColumnName
(
"UserName"
)
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"Email"
);
b
.
HasIndex
(
"NormalizedEmail"
);
b
.
HasIndex
(
"NormalizedUserName"
);
b
.
HasIndex
(
"UserName"
);
b
.
ToTable
(
"AbpUsers"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ClaimType"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(256)"
)
.
HasMaxLength
(
256
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(1024)"
)
.
HasMaxLength
(
1024
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"UserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"UserId"
);
b
.
ToTable
(
"AbpUserClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserLogin"
,
b
=>
{
b
.
Property
<
Guid
>(
"UserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ProviderDisplayName"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(196)"
)
.
HasMaxLength
(
196
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"UserId"
,
"LoginProvider"
);
b
.
HasIndex
(
"LoginProvider"
,
"ProviderKey"
);
b
.
ToTable
(
"AbpUserLogins"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserRole"
,
b
=>
{
b
.
Property
<
Guid
>(
"UserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
>(
"RoleId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"UserId"
,
"RoleId"
);
b
.
HasIndex
(
"RoleId"
,
"UserId"
);
b
.
ToTable
(
"AbpUserRoles"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserToken"
,
b
=>
{
b
.
Property
<
Guid
>(
"UserId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"UserId"
,
"LoginProvider"
,
"Name"
);
b
.
ToTable
(
"AbpUserTokens"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiResource"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(1000)"
)
.
HasMaxLength
(
1000
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
bool
>(
"Enabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Properties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"IdentityServerApiResources"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"ApiResourceId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"ApiResourceId"
,
"Type"
);
b
.
ToTable
(
"IdentityServerApiClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiScope"
,
b
=>
{
b
.
Property
<
Guid
>(
"ApiResourceId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(1000)"
)
.
HasMaxLength
(
1000
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
bool
>(
"Emphasize"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"Required"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"ShowInDiscoveryDocument"
)
.
HasColumnType
(
"bit"
);
b
.
HasKey
(
"ApiResourceId"
,
"Name"
);
b
.
ToTable
(
"IdentityServerApiScopes"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiScopeClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"ApiResourceId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"ApiResourceId"
,
"Name"
,
"Type"
);
b
.
ToTable
(
"IdentityServerApiScopeClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiSecret"
,
b
=>
{
b
.
Property
<
Guid
>(
"ApiResourceId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(4000)"
)
.
HasMaxLength
(
4000
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
HasColumnType
(
"datetime2"
);
b
.
HasKey
(
"ApiResourceId"
,
"Type"
,
"Value"
);
b
.
ToTable
(
"IdentityServerApiSecrets"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.Client"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
int
>(
"AbsoluteRefreshTokenLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"AccessTokenLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"AccessTokenType"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"AllowAccessTokensViaBrowser"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"AllowOfflineAccess"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"AllowPlainTextPkce"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"AllowRememberConsent"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"AlwaysIncludeUserClaimsInIdToken"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"AlwaysSendClientClaims"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
int
>(
"AuthorizationCodeLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"BackChannelLogoutSessionRequired"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"BackChannelLogoutUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
string
>(
"ClientClaimsPrefix"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientName"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
?>(
"ConsentLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(1000)"
)
.
HasMaxLength
(
1000
);
b
.
Property
<
int
>(
"DeviceCodeLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"EnableLocalLogin"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"Enabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"FrontChannelLogoutSessionRequired"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"FrontChannelLogoutUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
int
>(
"IdentityTokenLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IncludeJwtId"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"LogoUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
string
>(
"PairWiseSubjectSalt"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ProtocolType"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
int
>(
"RefreshTokenExpiration"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"RefreshTokenUsage"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"RequireClientSecret"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"RequireConsent"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"RequirePkce"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
int
>(
"SlidingRefreshTokenLifetime"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"UpdateAccessTokenClaimsOnRefresh"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"UserCodeType"
)
.
HasColumnType
(
"nvarchar(100)"
)
.
HasMaxLength
(
100
);
b
.
Property
<
int
?>(
"UserSsoLifetime"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ClientId"
);
b
.
ToTable
(
"IdentityServerClients"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
HasKey
(
"ClientId"
,
"Type"
,
"Value"
);
b
.
ToTable
(
"IdentityServerClientClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientCorsOrigin"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Origin"
)
.
HasColumnType
(
"nvarchar(150)"
)
.
HasMaxLength
(
150
);
b
.
HasKey
(
"ClientId"
,
"Origin"
);
b
.
ToTable
(
"IdentityServerClientCorsOrigins"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientGrantType"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"GrantType"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
HasKey
(
"ClientId"
,
"GrantType"
);
b
.
ToTable
(
"IdentityServerClientGrantTypes"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientIdPRestriction"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Provider"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"ClientId"
,
"Provider"
);
b
.
ToTable
(
"IdentityServerClientIdPRestrictions"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"PostLogoutRedirectUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
HasKey
(
"ClientId"
,
"PostLogoutRedirectUri"
);
b
.
ToTable
(
"IdentityServerClientPostLogoutRedirectUris"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientProperty"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Key"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
Property
<
string
>(
"Value"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
HasKey
(
"ClientId"
,
"Key"
);
b
.
ToTable
(
"IdentityServerClientProperties"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientRedirectUri"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"RedirectUri"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
HasKey
(
"ClientId"
,
"RedirectUri"
);
b
.
ToTable
(
"IdentityServerClientRedirectUris"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientScope"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Scope"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"ClientId"
,
"Scope"
);
b
.
ToTable
(
"IdentityServerClientScopes"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientSecret"
,
b
=>
{
b
.
Property
<
Guid
>(
"ClientId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(250)"
)
.
HasMaxLength
(
250
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(4000)"
)
.
HasMaxLength
(
4000
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(2000)"
)
.
HasMaxLength
(
2000
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
HasColumnType
(
"datetime2"
);
b
.
HasKey
(
"ClientId"
,
"Type"
,
"Value"
);
b
.
ToTable
(
"IdentityServerClientSecrets"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Devices.DeviceFlowCodes"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
string
>(
"DeviceCode"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
IsRequired
()
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"UserCode"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DeviceCode"
)
.
IsUnique
();
b
.
HasIndex
(
"Expiration"
);
b
.
HasIndex
(
"UserCode"
)
.
IsUnique
();
b
.
ToTable
(
"IdentityServerDeviceFlowCodes"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Grants.PersistedGrant"
,
b
=>
{
b
.
Property
<
string
>(
"Key"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ClientId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Data"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
)
.
HasMaxLength
(
50000
);
b
.
Property
<
DateTime
?>(
"Expiration"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
Guid
>(
"Id"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"SubjectId"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Type"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(50)"
)
.
HasMaxLength
(
50
);
b
.
HasKey
(
"Key"
);
b
.
HasIndex
(
"Expiration"
);
b
.
HasIndex
(
"SubjectId"
,
"ClientId"
,
"Type"
);
b
.
ToTable
(
"IdentityServerPersistedGrants"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.IdentityResources.IdentityClaim"
,
b
=>
{
b
.
Property
<
Guid
>(
"IdentityResourceId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Type"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
HasKey
(
"IdentityResourceId"
,
"Type"
);
b
.
ToTable
(
"IdentityServerIdentityClaims"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.IdentityResources.IdentityResource"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(1000)"
)
.
HasMaxLength
(
1000
);
b
.
Property
<
string
>(
"DisplayName"
)
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
bool
>(
"Emphasize"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"Enabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
)
.
HasMaxLength
(
200
);
b
.
Property
<
string
>(
"Properties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"Required"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"ShowInDiscoveryDocument"
)
.
HasColumnType
(
"bit"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"IdentityServerIdentityResources"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.PermissionManagement.PermissionGrant"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ProviderName"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
Guid
?>(
"TenantId"
)
.
HasColumnName
(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"Name"
,
"ProviderName"
,
"ProviderKey"
);
b
.
ToTable
(
"AbpPermissionGrants"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.SettingManagement.Setting"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(128)"
)
.
HasMaxLength
(
128
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"ProviderName"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"Value"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(2048)"
)
.
HasMaxLength
(
2048
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"Name"
,
"ProviderName"
,
"ProviderKey"
);
b
.
ToTable
(
"AbpSettings"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.TenantManagement.Tenant"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnName
(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"CreatorId"
)
.
HasColumnName
(
"CreatorId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
Guid
?>(
"DeleterId"
)
.
HasColumnName
(
"DeleterId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
DateTime
?>(
"DeletionTime"
)
.
HasColumnName
(
"DeletionTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"IsDeleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnName
(
"IsDeleted"
)
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
?>(
"LastModifierId"
)
.
HasColumnName
(
"LastModifierId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"Name"
);
b
.
ToTable
(
"AbpTenants"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.TenantManagement.TenantConnectionString"
,
b
=>
{
b
.
Property
<
Guid
>(
"TenantId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(64)"
)
.
HasMaxLength
(
64
);
b
.
Property
<
string
>(
"Value"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(1024)"
)
.
HasMaxLength
(
1024
);
b
.
HasKey
(
"TenantId"
,
"Name"
);
b
.
ToTable
(
"AbpTenantConnectionStrings"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductAttribute"
,
b
=>
{
b
.
HasOne
(
"EasyAbp.EShop.Products.Products.Product"
,
null
)
.
WithMany
(
"ProductAttributes"
)
.
HasForeignKey
(
"ProductId"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductAttributeOption"
,
b
=>
{
b
.
HasOne
(
"EasyAbp.EShop.Products.Products.ProductAttribute"
,
null
)
.
WithMany
(
"ProductAttributeOptions"
)
.
HasForeignKey
(
"ProductAttributeId"
);
});
modelBuilder
.
Entity
(
"EasyAbp.EShop.Products.Products.ProductSku"
,
b
=>
{
b
.
HasOne
(
"EasyAbp.EShop.Products.Products.Product"
,
null
)
.
WithMany
(
"ProductSkus"
)
.
HasForeignKey
(
"ProductId"
);
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.AuditLogAction"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.AuditLogging.AuditLog"
,
null
)
.
WithMany
(
"Actions"
)
.
HasForeignKey
(
"AuditLogId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.EntityChange"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.AuditLogging.AuditLog"
,
null
)
.
WithMany
(
"EntityChanges"
)
.
HasForeignKey
(
"AuditLogId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.AuditLogging.EntityPropertyChange"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.AuditLogging.EntityChange"
,
null
)
.
WithMany
(
"PropertyChanges"
)
.
HasForeignKey
(
"EntityChangeId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityRoleClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.Identity.IdentityRole"
,
null
)
.
WithMany
(
"Claims"
)
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.Identity.IdentityUser"
,
null
)
.
WithMany
(
"Claims"
)
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserLogin"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.Identity.IdentityUser"
,
null
)
.
WithMany
(
"Logins"
)
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserRole"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.Identity.IdentityRole"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"Volo.Abp.Identity.IdentityUser"
,
null
)
.
WithMany
(
"Roles"
)
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.Identity.IdentityUserToken"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.Identity.IdentityUser"
,
null
)
.
WithMany
(
"Tokens"
)
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.ApiResources.ApiResource"
,
null
)
.
WithMany
(
"UserClaims"
)
.
HasForeignKey
(
"ApiResourceId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiScope"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.ApiResources.ApiResource"
,
null
)
.
WithMany
(
"Scopes"
)
.
HasForeignKey
(
"ApiResourceId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiScopeClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.ApiResources.ApiScope"
,
null
)
.
WithMany
(
"UserClaims"
)
.
HasForeignKey
(
"ApiResourceId"
,
"Name"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.ApiResources.ApiSecret"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.ApiResources.ApiResource"
,
null
)
.
WithMany
(
"Secrets"
)
.
HasForeignKey
(
"ApiResourceId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"Claims"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientCorsOrigin"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"AllowedCorsOrigins"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientGrantType"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"AllowedGrantTypes"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientIdPRestriction"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"IdentityProviderRestrictions"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"PostLogoutRedirectUris"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientProperty"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"Properties"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientRedirectUri"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"RedirectUris"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientScope"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"AllowedScopes"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.Clients.ClientSecret"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.Clients.Client"
,
null
)
.
WithMany
(
"ClientSecrets"
)
.
HasForeignKey
(
"ClientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.IdentityServer.IdentityResources.IdentityClaim"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.IdentityServer.IdentityResources.IdentityResource"
,
null
)
.
WithMany
(
"UserClaims"
)
.
HasForeignKey
(
"IdentityResourceId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Volo.Abp.TenantManagement.TenantConnectionString"
,
b
=>
{
b
.
HasOne
(
"Volo.Abp.TenantManagement.Tenant"
,
null
)
.
WithMany
(
"ConnectionStrings"
)
.
HasForeignKey
(
"TenantId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
#pragma warning restore 612, 618
}
}
}
samples/EasyMall/aspnet-core/src/EasyMall.EntityFrameworkCore.DbMigrations/Migrations/20200429100034_AddedIsHiddenAndIsStatic.cs
0 → 100644
View file @
e266cf93
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
EasyMall.Migrations
{
public
partial
class
AddedIsHiddenAndIsStatic
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
AddColumn
<
bool
>(
name
:
"IsHidden"
,
table
:
"ProductsProducts"
,
nullable
:
false
,
defaultValue
:
false
);
migrationBuilder
.
AddColumn
<
bool
>(
name
:
"IsStatic"
,
table
:
"ProductsProducts"
,
nullable
:
false
,
defaultValue
:
false
);
migrationBuilder
.
AddColumn
<
bool
>(
name
:
"IsHidden"
,
table
:
"ProductsCategories"
,
nullable
:
false
,
defaultValue
:
false
);
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropColumn
(
name
:
"IsHidden"
,
table
:
"ProductsProducts"
);
migrationBuilder
.
DropColumn
(
name
:
"IsStatic"
,
table
:
"ProductsProducts"
);
migrationBuilder
.
DropColumn
(
name
:
"IsHidden"
,
table
:
"ProductsCategories"
);
}
}
}
samples/EasyMall/aspnet-core/src/EasyMall.EntityFrameworkCore.DbMigrations/Migrations/EasyMallMigrationsDbContextModelSnapshot.cs
View file @
e266cf93
...
...
@@ -62,6 +62,9 @@ namespace EasyMall.Migrations
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
bool
>(
"IsHidden"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
...
...
@@ -358,9 +361,15 @@ namespace EasyMall.Migrations
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
bool
>(
"IsHidden"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsPublished"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"IsStatic"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTime
?>(
"LastModificationTime"
)
.
HasColumnName
(
"LastModificationTime"
)
.
HasColumnType
(
"datetime2"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment