forked from abpframework/abp
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' of https://github.com/abpframework/abp
- Loading branch information
Showing
70 changed files
with
1,220 additions
and
1,243 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
## Entity Framework Core PostgreSQL Integration | ||
|
||
> See [Entity Framework Core Integration document](../Entity-Framework-Core.md) for the basics of the EF Core integration. | ||
### EntityFrameworkCore Project Update | ||
|
||
- In `Acme.BookStore.EntityFrameworkCore` project replace package `Volo.Abp.EntityFrameworkCore.SqlServer` with `Volo.Abp.EntityFrameworkCore.PostgreSql` | ||
- Update to use PostgreSQL in `BookStoreEntityFrameworkCoreModule` | ||
- Replace the `AbpEntityFrameworkCoreSqlServerModule` with the `AbpEntityFrameworkCorePostgreSqlModule` | ||
- Replace the `options.UseSqlServer()` with the `options.UsePostgreSql()` | ||
- In other projects update the PostgreSQL connection string in necessary `appsettings.json` files | ||
|
||
#### Delete Existing Migrations | ||
|
||
Delete all existing migration files (including `DbContextModelSnapshot`) | ||
|
||
 | ||
|
||
#### Regenerate Initial Migration & Update the Database | ||
|
||
Set the correct startup project (usually a web project), | ||
Open the **Package Manager Console** (Tools -> Nuget Package Manager -> Package Manager Console), select the `Acme.BookStore.EntityFrameworkCore.DbMigrations` as the **Default project** and execute the following command: | ||
|
||
Run `Add-Migration` command. | ||
```` | ||
PM> Add-Migration Initial | ||
```` | ||
|
||
Then execute the `Update-Database` command to update the database schema: | ||
|
||
```` | ||
PM> Update-Database | ||
```` | ||
|
||
 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Dapper Integration | ||
|
||
Because Dapper's idea is that the sql statement takes precedence, and mainly provides some extension methods for the `IDbConnection` interface. | ||
|
||
Abp does not encapsulate too many functions for Dapper. Abp Dapper provides a `DapperRepository<TDbContext>` base class based on Abp EntityFrameworkCore, which provides the `IDbConnection` and `IDbTransaction` properties required by Dapper. | ||
|
||
These two properties can work well with [Unit-Of-Work](Unit-Of-Work.md). | ||
|
||
## Installation | ||
|
||
Please install and configure EF Core according to [EF Core's integrated documentation](Entity-Framework-Core.md). | ||
|
||
`Volo.Abp.Dapper` is the main nuget package for the Dapper integration. Install it to your project (for a layered application, to your data/infrastructure layer): | ||
|
||
```shell | ||
Install-Package Volo.Abp.Dapper | ||
``` | ||
|
||
Then add `AbpDapperModule` module dependency (`DependsOn` attribute) to your [module](Module-Development-Basics.md): | ||
|
||
````C# | ||
using Volo.Abp.Dapper; | ||
using Volo.Abp.Modularity; | ||
|
||
namespace MyCompany.MyProject | ||
{ | ||
[DependsOn(typeof(AbpDapperModule))] | ||
public class MyModule : AbpModule | ||
{ | ||
//... | ||
} | ||
} | ||
```` | ||
|
||
## Implement Dapper Repository | ||
|
||
The following code implements the `Person` repository, which requires EF Core's `DbContext` (MyAppDbContext). You can inject `PersonDapperRepository` to call its methods. | ||
|
||
`DbConnection` and `DbTransaction` are from the `DapperRepository` base class. | ||
|
||
```C# | ||
public class PersonDapperRepository : DapperRepository<MyAppDbContext>, ITransientDependency | ||
{ | ||
public PersonDapperRepository(IDbContextProvider<MyAppDbContext> dbContextProvider) | ||
: base(dbContextProvider) | ||
{ | ||
} | ||
|
||
public virtual async Task<List<string>> GetAllPersonNames() | ||
{ | ||
return (await DbConnection.QueryAsync<string>("select Name from People", transaction: DbTransaction)) | ||
.ToList(); | ||
} | ||
|
||
public virtual async Task<int> UpdatePersonNames(string name) | ||
{ | ||
return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, | ||
DbTransaction); | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
## Entity Framework Core PostgreSQL 集成 | ||
|
||
> 参阅 [Entity Framework Core 集成文档](../Entity-Framework-Core.md) 了解集成EF Core的基础知识. | ||
### 更新 EntityFrameworkCore 项目 | ||
|
||
- 在 `Acme.BookStore.EntityFrameworkCore` 中将包 `Volo.Abp.EntityFrameworkCore.SqlServer` 替换为 `Volo.Abp.EntityFrameworkCore.PostgreSql` | ||
- 打开 `BookStoreEntityFrameworkCoreModule` 模块类 | ||
- 将 `AbpEntityFrameworkCoreSqlServerModule` 替换为 `AbpEntityFrameworkCorePostgreSqlModule` | ||
- 将 `options.UseSqlServer()` 替换为 `options.UsePostgreSql()` | ||
- 在其他的项目中将 `appsetting.json` 文件中的连接字符串更新为PostgreSQL链接字符串 | ||
|
||
#### 删除现有迁移 | ||
|
||
删除所有的现有迁移文件 (包括 `DbContextModelSnapshot`) | ||
|
||
 | ||
|
||
#### 生成生成迁移并更新数据库 | ||
|
||
设置正确的启动项目 (通常是Web项目), | ||
打开 **程序包管理器控制台** (工具 -> Nuget包管理器 -> 程序包管理器控制台), 选择 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 做为 **默认项目** 并执行以下命令: | ||
|
||
运行 `Add-Migration` 命令. | ||
```` | ||
PM> Add-Migration Initial | ||
```` | ||
|
||
然后执行 `Update-Database` 执行更新数据库: | ||
|
||
```` | ||
PM> Update-Database | ||
```` | ||
|
||
 |
Binary file added
BIN
+10 KB
docs/zh-Hans/Best-Practices/images/postgresql-delete-initial-migrations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# 发布ABP v0.19包含Angular UI选项 | ||
|
||
ABP v0.19已发布,包含解决的[~90个问题](https://github.com/abpframework/abp/milestone/17?closed=1)和[600+次提交](https://github.com/abpframework/abp/compare/0.18.1...0.19.0). | ||
|
||
## 新功能 | ||
|
||
### Angular UI | ||
|
||
终于,ABP有了一个**SPA UI**选项,使用最新的[Angular](https://angular.io/)框架.Angular的集成不是简单地创建了一个启动模板. | ||
|
||
* 创建了一个基础架构来处理ABP的模块化,主题和其他一些功能.此基础结构已部署为[NPM包](https://github.com/abpframework/abp/tree/dev/npm/ng-packs/packages). | ||
* 为帐户,身份和租户管理等模块创建了Angular UI包. | ||
* 创建了一个最小的启动模板,使用IdentityServer进行身份验证并使用ASP.NET Core做为后端.此模板使用上面提到的包. | ||
* 更新了[ABP CLI](https://docs.abp.io/en/abp/latest/CLI)和[下载页面](https://abp.io/get-started),以便能够使用新的UI选项生成项目. | ||
* 创建了[教程](https://docs.abp.io/en/abp/latest/Tutorials/Angular/Part-I)以使用新的UI选项快速入门. | ||
|
||
我们基于最新的Angular工具和趋势创建了模板,文档和基础架构: | ||
|
||
* 使用[NgBootstrap](https://ng-bootstrap.github.io/)和[PrimeNG](https://www.primefaces.org/primeng/)作为UI组件库.你可以使用自己喜欢的库,没问题,但预构建的模块可以使用这些库. | ||
* 使用[NGXS](https://ngxs.gitbook.io/ngxs/)作为状态管理库. | ||
|
||
Angular是第一个SPA UI选项,但它不是最后一个.在v1.0发布之后,我们将开始第二个UI选项的工作.虽然尚未决定,但候选的有Blazor,React和Vue.js. 等待你的反馈.你可以使用以下issue进行投票(thumb): | ||
|
||
* [Blazor](https://github.com/abpframework/abp/issues/394) | ||
* [Vue.js](https://github.com/abpframework/abp/issues/1168) | ||
* [React](https://github.com/abpframework/abp/issues/1638) | ||
|
||
### Widget系统 | ||
|
||
[Widget系统](https://docs.abp.io/en/abp/latest/AspNetCore/Widgets)允许为ASP.NET Core MVC应用程序**定义和重用**Widget.Widget可能有自己的脚本和样式资源以及由ABP框架管理的第三方库的依赖关系. | ||
|
||
### 其他 | ||
|
||
我们已经解决了许多错误,并根据社区反馈开发了现有功能.有关所有已结束的问题,请参阅[v0.19里程碑](https://github.com/abpframework/abp/milestone/17?closed=1). | ||
|
||
## 路线图 | ||
|
||
我们决定等待**ASP.NET Core 3.0**最终发布.微软已宣布将于9月23日至25日在[.NET Conf](https://www.dotnetconf.net/)上发布它. | ||
|
||
我们已经计划完成我们的工作,并迁移到ASP.NET Core 3.0(预览版或RC版)在它发布之前.一旦Microsoft发布它,我们将立即开始升级并测试最终版本. | ||
|
||
因此,你可以期待ABP **v1.0**将在**10月上半月**发布.我们非常兴奋并努力地工作着. | ||
|
||
你可以关注[GitHub里程碑](https://github.com/abpframework/abp/milestones)的进度. | ||
|
||
我们不会在v1.0之前添加主要功能. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.