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
af143ef3
Commit
af143ef3
authored
May 02, 2020
by
gdlcf88
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added history application services
parent
cd6f6254
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
2776 additions
and
0 deletions
+2776
-0
GetProductDetailHistoryListDto.cs
...uctDetailHistories/Dtos/GetProductDetailHistoryListDto.cs
+10
-0
ProductDetailHistoryDto.cs
...ts/ProductDetailHistories/Dtos/ProductDetailHistoryDto.cs
+14
-0
IProductDetailHistoryAppService.cs
...ProductDetailHistories/IProductDetailHistoryAppService.cs
+19
-0
GetProductHistoryListDto.cs
...roducts/ProductHistories/Dtos/GetProductHistoryListDto.cs
+10
-0
ProductHistoryDto.cs
...EShop/Products/ProductHistories/Dtos/ProductHistoryDto.cs
+14
-0
IProductDetailHistoryAppService.cs
...ducts/ProductHistories/IProductDetailHistoryAppService.cs
+18
-0
ProductDetailHistoryAppService.cs
.../ProductDetailHistories/ProductDetailHistoryAppService.cs
+53
-0
ProductHistoryAppService.cs
...hop/Products/ProductHistories/ProductHistoryAppService.cs
+53
-0
ProductsApplicationAutoMapperProfile.cs
...bp/EShop/Products/ProductsApplicationAutoMapperProfile.cs
+5
-0
IProductDetailHistoryRepository.cs
...ProductDetailHistories/IProductDetailHistoryRepository.cs
+4
-0
IProductHistoryRepository.cs
...op/Products/ProductHistories/IProductHistoryRepository.cs
+4
-0
ProductsDbContextModelCreatingExtensions.cs
...FrameworkCore/ProductsDbContextModelCreatingExtensions.cs
+4
-0
ProductDetailHistoryRepository.cs
.../ProductDetailHistories/ProductDetailHistoryRepository.cs
+19
-0
ProductHistoryRepository.cs
...hop/Products/ProductHistories/ProductHistoryRepository.cs
+19
-0
20200502095135_AddedHistoryEntityIndexes.Designer.cs
...ions/20200502095135_AddedHistoryEntityIndexes.Designer.cs
+2473
-0
20200502095135_AddedHistoryEntityIndexes.cs
...ns/Migrations/20200502095135_AddedHistoryEntityIndexes.cs
+49
-0
EasyMallMigrationsDbContextModelSnapshot.cs
...ns/Migrations/EasyMallMigrationsDbContextModelSnapshot.cs
+8
-0
No files found.
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductDetailHistories/Dtos/GetProductDetailHistoryListDto.cs
0 → 100644
View file @
af143ef3
using
System
;
using
Volo.Abp.Application.Dtos
;
namespace
EasyAbp.EShop.Products.ProductDetailHistories.Dtos
{
public
class
GetProductDetailHistoryListDto
:
PagedAndSortedResultRequestDto
{
public
Guid
ProductDetailId
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductDetailHistories/Dtos/ProductDetailHistoryDto.cs
0 → 100644
View file @
af143ef3
using
System
;
using
Volo.Abp.Application.Dtos
;
namespace
EasyAbp.EShop.Products.ProductDetailHistories.Dtos
{
public
class
ProductDetailHistoryDto
:
EntityDto
<
Guid
>
{
public
Guid
ProductDetailId
{
get
;
set
;
}
public
DateTime
ModificationTime
{
get
;
set
;
}
public
string
SerializedDto
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductDetailHistories/IProductDetailHistoryAppService.cs
0 → 100644
View file @
af143ef3
using
System
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.ProductDetailHistories.Dtos
;
using
Volo.Abp.Application.Dtos
;
using
Volo.Abp.Application.Services
;
namespace
EasyAbp.EShop.Products.ProductDetailHistories
{
public
interface
IProductDetailHistoryAppService
:
ICrudAppService
<
ProductDetailHistoryDto
,
Guid
,
GetProductDetailHistoryListDto
,
object
,
object
>
{
Task
<
ProductDetailHistoryDto
>
GetByTimeAsync
(
Guid
productId
,
DateTime
modificationTime
);
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductHistories/Dtos/GetProductHistoryListDto.cs
0 → 100644
View file @
af143ef3
using
System
;
using
Volo.Abp.Application.Dtos
;
namespace
EasyAbp.EShop.Products.ProductHistories.Dtos
{
public
class
GetProductHistoryListDto
:
PagedAndSortedResultRequestDto
{
public
Guid
ProductId
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductHistories/Dtos/ProductHistoryDto.cs
0 → 100644
View file @
af143ef3
using
System
;
using
Volo.Abp.Application.Dtos
;
namespace
EasyAbp.EShop.Products.ProductHistories.Dtos
{
public
class
ProductHistoryDto
:
EntityDto
<
Guid
>
{
public
Guid
ProductId
{
get
;
set
;
}
public
DateTime
ModificationTime
{
get
;
set
;
}
public
string
SerializedDto
{
get
;
set
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/ProductHistories/IProductDetailHistoryAppService.cs
0 → 100644
View file @
af143ef3
using
System
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.ProductHistories.Dtos
;
using
Volo.Abp.Application.Services
;
namespace
EasyAbp.EShop.Products.ProductHistories
{
public
interface
IProductHistoryAppService
:
ICrudAppService
<
ProductHistoryDto
,
Guid
,
GetProductHistoryListDto
,
object
,
object
>
{
Task
<
ProductHistoryDto
>
GetByTimeAsync
(
Guid
productId
,
DateTime
modificationTime
);
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductDetailHistories/ProductDetailHistoryAppService.cs
0 → 100644
View file @
af143ef3
using
System
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.Authorization
;
using
EasyAbp.EShop.Products.ProductDetailHistories.Dtos
;
using
Volo.Abp
;
using
Volo.Abp.Application.Services
;
namespace
EasyAbp.EShop.Products.ProductDetailHistories
{
public
class
ProductDetailHistoryAppService
:
CrudAppService
<
ProductDetailHistory
,
ProductDetailHistoryDto
,
Guid
,
GetProductDetailHistoryListDto
,
object
,
object
>,
IProductDetailHistoryAppService
{
protected
override
string
GetListPolicyName
{
get
;
set
;
}
=
ProductsPermissions
.
Products
.
Default
;
private
readonly
IProductDetailHistoryRepository
_repository
;
public
ProductDetailHistoryAppService
(
IProductDetailHistoryRepository
repository
)
:
base
(
repository
)
{
_repository
=
repository
;
}
protected
override
IQueryable
<
ProductDetailHistory
>
CreateFilteredQuery
(
GetProductDetailHistoryListDto
input
)
{
return
base
.
CreateFilteredQuery
(
input
).
Where
(
x
=>
x
.
ProductDetailId
==
input
.
ProductDetailId
);
}
public
async
Task
<
ProductDetailHistoryDto
>
GetByTimeAsync
(
Guid
productId
,
DateTime
modificationTime
)
{
await
CheckGetPolicyAsync
();
return
MapToGetOutputDto
(
await
_repository
.
GetAsync
(
productId
,
modificationTime
));
}
[
RemoteService
(
false
)]
public
override
Task
<
ProductDetailHistoryDto
>
CreateAsync
(
object
input
)
{
throw
new
NotImplementedException
();
}
[
RemoteService
(
false
)]
public
override
Task
<
ProductDetailHistoryDto
>
UpdateAsync
(
Guid
id
,
object
input
)
{
throw
new
NotImplementedException
();
}
[
RemoteService
(
false
)]
public
override
Task
DeleteAsync
(
Guid
id
)
{
throw
new
NotImplementedException
();
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductHistories/ProductHistoryAppService.cs
0 → 100644
View file @
af143ef3
using
System
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.Authorization
;
using
EasyAbp.EShop.Products.ProductHistories.Dtos
;
using
Volo.Abp
;
using
Volo.Abp.Application.Services
;
namespace
EasyAbp.EShop.Products.ProductHistories
{
public
class
ProductHistoryAppService
:
CrudAppService
<
ProductHistory
,
ProductHistoryDto
,
Guid
,
GetProductHistoryListDto
,
object
,
object
>,
IProductHistoryAppService
{
protected
override
string
GetListPolicyName
{
get
;
set
;
}
=
ProductsPermissions
.
Products
.
Default
;
private
readonly
IProductHistoryRepository
_repository
;
public
ProductHistoryAppService
(
IProductHistoryRepository
repository
)
:
base
(
repository
)
{
_repository
=
repository
;
}
protected
override
IQueryable
<
ProductHistory
>
CreateFilteredQuery
(
GetProductHistoryListDto
input
)
{
return
base
.
CreateFilteredQuery
(
input
).
Where
(
x
=>
x
.
ProductId
==
input
.
ProductId
);
}
public
async
Task
<
ProductHistoryDto
>
GetByTimeAsync
(
Guid
productId
,
DateTime
modificationTime
)
{
await
CheckGetPolicyAsync
();
return
MapToGetOutputDto
(
await
_repository
.
GetAsync
(
productId
,
modificationTime
));
}
[
RemoteService
(
false
)]
public
override
Task
<
ProductHistoryDto
>
CreateAsync
(
object
input
)
{
throw
new
NotImplementedException
();
}
[
RemoteService
(
false
)]
public
override
Task
<
ProductHistoryDto
>
UpdateAsync
(
Guid
id
,
object
input
)
{
throw
new
NotImplementedException
();
}
[
RemoteService
(
false
)]
public
override
Task
DeleteAsync
(
Guid
id
)
{
throw
new
NotImplementedException
();
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductsApplicationAutoMapperProfile.cs
View file @
af143ef3
...
...
@@ -10,6 +10,9 @@ using AutoMapper;
using
EasyAbp.EShop.Products.ProductDetails
;
using
EasyAbp.EShop.Products.ProductDetails.Dtos
;
using
EasyAbp.EShop.Products.ProductDetailHistories
;
using
EasyAbp.EShop.Products.ProductDetailHistories.Dtos
;
using
EasyAbp.EShop.Products.ProductHistories
;
using
EasyAbp.EShop.Products.ProductHistories.Dtos
;
using
Volo.Abp.AutoMapper
;
namespace
EasyAbp.EShop.Products
...
...
@@ -44,6 +47,8 @@ namespace EasyAbp.EShop.Products
CreateMap
<
CreateUpdateProductTypeDto
,
ProductType
>(
MemberList
.
Source
);
CreateMap
<
ProductCategory
,
ProductCategoryDto
>();
CreateMap
<
CreateUpdateProductCategoryDto
,
ProductCategory
>(
MemberList
.
Source
);
CreateMap
<
ProductHistory
,
ProductHistoryDto
>();
CreateMap
<
ProductDetailHistory
,
ProductDetailHistoryDto
>();
}
}
}
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/ProductDetailHistories/IProductDetailHistoryRepository.cs
View file @
af143ef3
using
System
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
Volo.Abp.Domain.Repositories
;
namespace
EasyAbp.EShop.Products.ProductDetailHistories
{
public
interface
IProductDetailHistoryRepository
:
IRepository
<
ProductDetailHistory
,
Guid
>
{
Task
<
ProductDetailHistory
>
GetAsync
(
Guid
productDetailId
,
DateTime
modificationTime
,
CancellationToken
cancellationToken
=
default
);
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/ProductHistories/IProductHistoryRepository.cs
View file @
af143ef3
using
System
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
Volo.Abp.Domain.Repositories
;
namespace
EasyAbp.EShop.Products.ProductHistories
{
public
interface
IProductHistoryRepository
:
IRepository
<
ProductHistory
,
Guid
>
{
Task
<
ProductHistory
>
GetAsync
(
Guid
productId
,
DateTime
modificationTime
,
CancellationToken
cancellationToken
=
default
);
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/EntityFrameworkCore/ProductsDbContextModelCreatingExtensions.cs
View file @
af143ef3
...
...
@@ -118,6 +118,8 @@ namespace EasyAbp.EShop.Products.EntityFrameworkCore
b
.
ToTable
(
options
.
TablePrefix
+
"ProductHistories"
,
options
.
Schema
);
b
.
ConfigureByConvention
();
/* Configure more properties here */
b
.
HasIndex
(
x
=>
x
.
ProductId
);
b
.
HasIndex
(
x
=>
x
.
ModificationTime
);
});
builder
.
Entity
<
ProductDetailHistory
>(
b
=>
...
...
@@ -125,6 +127,8 @@ namespace EasyAbp.EShop.Products.EntityFrameworkCore
b
.
ToTable
(
options
.
TablePrefix
+
"ProductDetailHistories"
,
options
.
Schema
);
b
.
ConfigureByConvention
();
/* Configure more properties here */
b
.
HasIndex
(
x
=>
x
.
ProductDetailId
);
b
.
HasIndex
(
x
=>
x
.
ModificationTime
);
});
}
}
...
...
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/ProductDetailHistories/ProductDetailHistoryRepository.cs
View file @
af143ef3
using
System
;
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore
;
using
Volo.Abp.Domain.Entities
;
using
Volo.Abp.Domain.Repositories.EntityFrameworkCore
;
using
Volo.Abp.EntityFrameworkCore
;
...
...
@@ -10,5 +15,19 @@ namespace EasyAbp.EShop.Products.ProductDetailHistories
public
ProductDetailHistoryRepository
(
IDbContextProvider
<
ProductsDbContext
>
dbContextProvider
)
:
base
(
dbContextProvider
)
{
}
public
async
Task
<
ProductDetailHistory
>
GetAsync
(
Guid
productDetailId
,
DateTime
modificationTime
,
CancellationToken
cancellationToken
=
default
)
{
var
entity
=
await
GetQueryable
()
.
Where
(
x
=>
x
.
ModificationTime
==
modificationTime
&&
x
.
ProductDetailId
==
productDetailId
)
.
FirstOrDefaultAsync
(
cancellationToken
);
if
(
entity
==
null
)
{
throw
new
EntityNotFoundException
(
typeof
(
ProductDetailHistory
),
new
{
productDetailId
,
modificationTime
});
}
return
entity
;
}
}
}
\ No newline at end of file
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/ProductHistories/ProductHistoryRepository.cs
View file @
af143ef3
using
System
;
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
EasyAbp.EShop.Products.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore
;
using
Volo.Abp.Domain.Entities
;
using
Volo.Abp.Domain.Repositories.EntityFrameworkCore
;
using
Volo.Abp.EntityFrameworkCore
;
...
...
@@ -10,5 +15,19 @@ namespace EasyAbp.EShop.Products.ProductHistories
public
ProductHistoryRepository
(
IDbContextProvider
<
ProductsDbContext
>
dbContextProvider
)
:
base
(
dbContextProvider
)
{
}
public
async
Task
<
ProductHistory
>
GetAsync
(
Guid
productId
,
DateTime
modificationTime
,
CancellationToken
cancellationToken
=
default
)
{
var
entity
=
await
GetQueryable
()
.
Where
(
x
=>
x
.
ModificationTime
==
modificationTime
&&
x
.
ProductId
==
productId
)
.
FirstOrDefaultAsync
(
cancellationToken
);
if
(
entity
==
null
)
{
throw
new
EntityNotFoundException
(
typeof
(
ProductHistory
),
new
{
productId
,
modificationTime
});
}
return
entity
;
}
}
}
\ No newline at end of file
samples/EasyMall/aspnet-core/src/EasyMall.EntityFrameworkCore.DbMigrations/Migrations/20200502095135_AddedHistoryEntityIndexes.Designer.cs
0 → 100644
View file @
af143ef3
// <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
(
"20200502095135_AddedHistoryEntityIndexes"
)]
partial
class
AddedHistoryEntityIndexes
{
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.ProductDetailHistories.ProductDetailHistory"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"ModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
>(
"ProductDetailId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"SerializedDto"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ModificationTime"
);
b
.
HasIndex
(
"ProductDetailId"
);
b
.
ToTable
(
"ProductsProductDetailHistories"
);
});
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.ProductHistories.ProductHistory"
,
b
=>
{
b
.
Property
<
Guid
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnName
(
"ConcurrencyStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ExtraProperties"
)
.
HasColumnName
(
"ExtraProperties"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"ModificationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
Guid
>(
"ProductId"
)
.
HasColumnType
(
"uniqueidentifier"
);
b
.
Property
<
string
>(
"SerializedDto"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ModificationTime"
);
b
.
HasIndex
(
"ProductId"
);
b
.
ToTable
(
"ProductsProductHistories"
);
});
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/20200502095135_AddedHistoryEntityIndexes.cs
0 → 100644
View file @
af143ef3
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
EasyMall.Migrations
{
public
partial
class
AddedHistoryEntityIndexes
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
CreateIndex
(
name
:
"IX_ProductsProductHistories_ModificationTime"
,
table
:
"ProductsProductHistories"
,
column
:
"ModificationTime"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_ProductsProductHistories_ProductId"
,
table
:
"ProductsProductHistories"
,
column
:
"ProductId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_ProductsProductDetailHistories_ModificationTime"
,
table
:
"ProductsProductDetailHistories"
,
column
:
"ModificationTime"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_ProductsProductDetailHistories_ProductDetailId"
,
table
:
"ProductsProductDetailHistories"
,
column
:
"ProductDetailId"
);
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropIndex
(
name
:
"IX_ProductsProductHistories_ModificationTime"
,
table
:
"ProductsProductHistories"
);
migrationBuilder
.
DropIndex
(
name
:
"IX_ProductsProductHistories_ProductId"
,
table
:
"ProductsProductHistories"
);
migrationBuilder
.
DropIndex
(
name
:
"IX_ProductsProductDetailHistories_ModificationTime"
,
table
:
"ProductsProductDetailHistories"
);
migrationBuilder
.
DropIndex
(
name
:
"IX_ProductsProductDetailHistories_ProductDetailId"
,
table
:
"ProductsProductDetailHistories"
);
}
}
}
samples/EasyMall/aspnet-core/src/EasyMall.EntityFrameworkCore.DbMigrations/Migrations/EasyMallMigrationsDbContextModelSnapshot.cs
View file @
af143ef3
...
...
@@ -163,6 +163,10 @@ namespace EasyMall.Migrations
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ModificationTime"
);
b
.
HasIndex
(
"ProductDetailId"
);
b
.
ToTable
(
"ProductsProductDetailHistories"
);
});
...
...
@@ -245,6 +249,10 @@ namespace EasyMall.Migrations
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ModificationTime"
);
b
.
HasIndex
(
"ProductId"
);
b
.
ToTable
(
"ProductsProductHistories"
);
});
...
...
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