abp mysql 存储过程_ABP框架源码学习之修改默认数据库表前缀或表名称

1,源码

1 namespace Abp.Zero.EntityFramework

2 {

3 ///

4 /// Extension methods for .

5 ///

6 public static class AbpZeroDbModelBuilderExtensions

7 {

8 ///

9 /// Changes prefix for ABP tables (which is "Abp" by default).

10 /// Can be null/empty string to clear the prefix.

11 ///

12 /// The type of the tenant entity.

13 /// The type of the role entity.

14 /// The type of the user entity.

15 /// Model builder.

16 /// Table prefix, or null to clear prefix.

17 /// Schema name

18 public static void ChangeAbpTablePrefix(this DbModelBuilder modelBuilder, string prefix, string schemaName = null)

19 where TTenant : AbpTenant

20 where TRole : AbpRole

21 where TUser : AbpUser

22 {

23 prefix = prefix ?? "";

24

25 SetTableName(modelBuilder, prefix + "AuditLogs", schemaName);

26 SetTableName(modelBuilder, prefix + "BackgroundJobs", schemaName);

27 SetTableName(modelBuilder, prefix + "Editions", schemaName);

28 SetTableName(modelBuilder, prefix + "Features", schemaName);

29 SetTableName(modelBuilder, prefix + "Features", schemaName);

30 SetTableName(modelBuilder, prefix + "Features", schemaName);

31 SetTableName(modelBuilder, prefix + "Languages", schemaName);

32 SetTableName(modelBuilder, prefix + "LanguageTexts", schemaName);

33 SetTableName(modelBuilder, prefix + "Notifications", schemaName);

34 SetTableName(modelBuilder, prefix + "NotificationSubscriptions", schemaName);

35 SetTableName(modelBuilder, prefix + "OrganizationUnits", schemaName);

36 SetTableName(modelBuilder, prefix + "Permissions", schemaName);

37 SetTableName(modelBuilder, prefix + "Permissions", schemaName);

38 SetTableName(modelBuilder, prefix + "Permissions", schemaName);

39 SetTableName(modelBuilder, prefix + "Roles", schemaName);

40 SetTableName(modelBuilder, prefix + "Settings", schemaName);

41 SetTableName(modelBuilder, prefix + "Tenants", schemaName);

42 SetTableName(modelBuilder, prefix + "UserLogins", schemaName);

43 SetTableName(modelBuilder, prefix + "UserLoginAttempts", schemaName);

44 SetTableName(modelBuilder, prefix + "TenantNotifications", schemaName);

45 SetTableName(modelBuilder, prefix + "UserNotifications", schemaName);

46 SetTableName(modelBuilder, prefix + "UserOrganizationUnits", schemaName);

47 SetTableName(modelBuilder, prefix + "UserRoles", schemaName);

48 SetTableName(modelBuilder, prefix + "Users", schemaName);

49 SetTableName(modelBuilder, prefix + "UserAccounts", schemaName);

50 SetTableName(modelBuilder, prefix + "UserClaims", schemaName);

51 SetTableName(modelBuilder, prefix + "RoleClaims", schemaName);

52 SetTableName(modelBuilder, prefix + "UserTokens", schemaName);

53 }

54

55 internal static void SetTableName(this DbModelBuilder modelBuilder, string tableName, string schemaName)

56 where TEntity : class

57 {

58 if (schemaName == null)

59 {

60 modelBuilder.Entity().ToTable(tableName);

61 }

62 else

63 {

64 modelBuilder.Entity().ToTable(tableName, schemaName);

65 }

66 }

67 }

68 }

2,操作

public class WCHSOFTDbContext : AbpZeroDbContext

{

public WCHSOFTDbContext(DbContextOptions options)

: base(options)

{

}

protected override void OnModelCreating(ModelBuilder modelBuilder)

{

modelBuilder.ChangeAbpTablePrefix("Wch");

base.OnModelCreating(modelBuilder);

}

}

3,效果

18630ed40830e4d272343d1d35547e9a.png

4,后记

本人最近正在研究Abp框架,发现官方给的demo和文档只是交大家怎么使用,有些功能文档中并没有写明,所以必须通过查看源码来找到自己问题的解决方法。大家在abp开发中有什么遇到的问题或者有什么建议,欢迎大家留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值