Skip to content

klat-open/abp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

云凯ABP框架

主要功能

快速开始

1. MySql配置

  • MySql 版本为5.7
  • 使用Pomelo.EntityFrameworkCore.MySql,官方包(MySql.Data.EntityFrameworkCore)仍有问题,比如无法使用Guid.

2. 数据库迁移:

  • 打开YkAbp.EntityFrameworkCore.csproj,将TargetFramework修改为netcoreapp2.0;
  • 打开cmd,进入到YkAbp.EntityFrameworkCore.csproj所在目录,执行EF Core迁移指令,详见https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/
  • 迁移完成后,将YkAbp.EntityFrameworkCore.csproj的TargetFramework修改为netstandard2.0.

3. 本地化

  • 使用json文件进行本地化配置,语言文件根目录为 /lang
  • 添加新增资源:yk
  • 完善ABP内部的本地化资源(Abp、AbpWeb和AbpZero)未的汉化部分
  • 支持i18n,统一配置到 ** src/YkAbp.Web.Host/lang** 。i18n不支持在自定义模块中新增的语言资源。
  • 使用YkAbpUserConfiguration/GetAll替代原AbpUserConfiguration/GetAll接口(获取用户相关的系统配置数据)。

待优化:由于AbpUserConfigurationBuilder不易扩展(没有接口不能重新实现、属性全是私有的不能继承、GetAll不是virtual),所以重新写了YkAbpUserConfigurationBuilder和YkAbpUserConfigurationController,不够灵活。已经向ABP提了PR,将合并到3.5.0版本。

插件模块

ABP的模块可以是在startup module中进行显示依赖指定了,也可以按程序集的方式进行动态加载,详见PlugIn Module

插件模块中的Entity

在使用EF时,需要在DbContext中定义Entity的DbSet,具体为:

 public class YkAbpDbContext : AbpZeroDbContext<Tenant, Role, User, YkAbpDbContext>
{
	// TODO: Define an IDbSet for each entity of the application 
	public virtual DbSet<ProductDemo> ProductDemos { get; set; }

	public YkAbpDbContext(DbContextOptions<YkAbpDbContext> options)
		: base(options)
	{
	}
}

讨论:但使用插件模块时,可能存在本模块所独有的实体\聚合,其它模块不会引用,那么在插件模块中定义这些实体似乎更为合理,但也会导致插件模块需要依赖Microsoft.EntityFrameworkCore,从而不便于替换数据持久层。

编译事件脚本

在编译完成后,将dll复制到Plugins目录。

  • 在项目属性 -> 生成事件 -> 后期生成事件命令行:
xcopy /E /Y /Q "$(TargetDir)$(TargetFileName)" ..\YkAbp.Web.Host\Plugins\
xcopy /E /Y /Q "$(TargetDir)$(TargetName).pdb" ..\YkAbp.Web.Host\Plugins\

TODOs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 95.4%
  • HTML 1.9%
  • Liquid 1.4%
  • Other 1.3%