.net core3.1 abp學習開始(一)

来源:https://www.cnblogs.com/wangpengzong/archive/2020/06/09/13081247.html
-Advertisement-
Play Games

vs版本 2019,鏈接資料庫使用Navicat,資料庫MySql abp的官網:https://aspnetboilerplate.com/,我們去Download這裡下載一個模板,需要選好Target Version、輸入項目名字,我這裡使用abp的mvc版本、項目名為AbpLearn下載一份 ...


vs版本 2019,鏈接資料庫使用Navicat,資料庫MySql

 

abp的官網:https://aspnetboilerplate.com/,我們去Download這裡下載一個模板,需要選好Target Version、輸入項目名字,我這裡使用abp的mvc版本、項目名為AbpLearn下載一份

當前下載下來是5.6版本

 解壓後

 

 

 abp的sln在aspnet-core文件夾下

打開文件夾,雙擊打開sln,第一次載入的時候可能有點慢,請耐心等待nuget包自動載入完畢

AbpLearn.Application:應用層,主要包括定義和前臺進行交互的介面層,調用領域層中對應的介面,預設包括:驗證、配置、多租戶、角色、用戶、Session的一些操作,是整個Web API對外部提供調用的核心介面
AbpLearn.Core:領域層,對現實業務進行抽象,通過調用ORM層的提供的介面來對當前的User、Role、Tenant等一系列的管理操作,並對外提供統一的Manager介面,從而供應用層進行相關的操作,另外還提供了諸如驗證、配置、Feature、本地化等等一些列基礎介面。

AbpLearn.EntityFrameworkCore:ORM層,該層顧名思義是使用EntityFrameworkCore來和SQL Server資料庫進行交互的核心邏輯,包括一些常規的各種CRUD操作,以及通過Model First模式創建資料庫,為資料庫提供種子數據等一系列操作。
AbpLearn.Migrator:提供基於控制台的資料庫遷移工具
AbpLearn.Web.Core:這個部分主要是另外一種WebAPI的訪問方式,和應用層這種直接的映射的方式不同,在當前項目中為了更好地體現REST 風格的API ,我們會在我們的類中繼承自AbpController這個基類,然後在當前的Controller類中通過[Route("api/[controller]/[action]")]這種方式來進行映射關係,這種風格更加符合REST的風格要求,在後面實際的項目中也會儘可能的採用這種方式。
AbpLearn.Web.Host:Swagger UI 集成Web API文檔工具

 AbpLearn.Web.Mvc:標準的Asp.Net Core MVC 項目,完整的前後端實現,這一部分將在後續進行一系列的分析和解讀。

引用https://www.cnblogs.com/seekdream/p/9249568.html

 

abp預設使用EF作為orm,想要添加資料庫的表,需要先添加資料庫和項目中的連接字元串,然後用update-database來生成,先不糾結update-database,按照流程來,在資料庫伺服器上添加一個空庫,比如abplearn,

 

 

 接下來就是修改資料庫鏈接字元串了,

全局搜索“ConnectionStrings”,

找到有類似

"Default": "Server=localhost; Database=AbpLearnDb; Trusted_Connection=True;"

的地方,將ConnectionStrings的Server修改正確(資料庫鏈接字元串怎麼寫請自行百度)

我這裡選用mysql作為資料庫

鏈接字元串為: "Default": "server=192.168.149.28;port=3306;database=abplearn;user=root;password=testpassword;CharSet=utf8;"

資料庫鏈接字元串設置好

如果是mysql,需要將*.EntityFrameworkCore中原本的sqlserver這個nuget包卸載
然後搜索添加Pomelo.EntityFrameworkCore.MySql包,再將*.EntityFrameworkCore項目/EntityFrameworkCore/AbpLearnDbContextConfigurer.cs中的builder.UseSqlServer修改為builder.UseMySql

將Migrations下麵的文件全部刪除掉,將*.EntityFrameworkCore設置為啟動項目,然後在vs的頭部找到 視圖/其他視窗/程式包管理控制台,打開這個控制臺大概出出現下圖

 

 

 

 預設項目最好也設置為*.EntityFrameworkCore,在PM>後依次執行

Add-Migration [name] //這個name隨便命名即可

如我執行Add-Migration newinit後,在Migrations文件夾下生成了

 

 其中20200608140416_newinit(文件名是根據生成時間的,下劃線前面會不同)文件大概是這樣(如果用到的是mysql,但是生成的newinit文件中是SqlServer:ValueGenerationStrategy和SqlServerValueGenerationStrategy,則需要手動批量替換下為MySql:ValueGenerationStrategy和MySqlValueGenerationStrategy)

 

 

然後在PM執行

Update-Database  //如果資料庫鏈接字元串都正確,將會在資料庫中生成很多表

 各個表的定義和欄位意思請查看https://blog.csdn.net/mzl87/article/details/105256180/ ,或查看博客園防丟鏈接https://www.cnblogs.com/wangpengzong/diary/2020/06/09/13081234.html

 

此時,資料庫中沒有數據,我們運行一下項目,項目將執行*.EntityFrameworkCore項目/EntityFrameworkCore/Seed/SeedHelper.cs的SeedHostDb方法,生成預設的Host和一個預設的租戶Default,並將對應Roles(角色)、Users(用戶)、Permissions(許可權)及其他表數據

但是此時,在瀏覽器中的樣式會出現問題,這個是因為我們沒有對abp的js和css文件進行初始化,初始化的地方在libman.json,右擊libman.json,點擊“還原客戶端庫”後等待較長時間,vs將會從網上對引用的js和css下載下來放到對應文件夾下

還原成功後,再去瀏覽下mvc項目,現在就可以看到完整版的abp了

 

 

明天開始分析並開始做從資料庫載入的動態菜單、動態許可權


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.詳細文檔及源代碼獲取 文檔地址:https://www.sunnyblog.top/detail.html?id=1270334641173168128 2.頁面效果 任務列表分頁查詢 任務創建 任務編輯 任務刪除 任務啟動 任務停止 詳細開發技術文檔盡在 點擊這裡查看技術文檔 ;更多技術文章: ...
  • 項目簡介 項目來源於:https://github.com/1462656075/car 本系統是基於JSP+SSH+Mysql+DBCP實現的租車系統。在當代開發中,SSH的使用已經逐漸被SSM取代,但不代表我們不需要學習SSH,該系統簡單,但功能齊全可以作為SSH框架初學者的入門項目。 難度等級 ...
  • B樹和B+樹的插入、刪除圖文詳解 本文摘自:https://www.cnblogs.com/nullzx/p/8729425.html 感謝大佬nullzx的總結與分享。 另外為驗證本人的正確性,通過一個小工具驗證了下文中的拆入結果,感興趣的伙伴們 可以自己動手驗證。 B-Trees 簡介:本文主要 ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:CDA數據分析師 地攤經濟火了!微博微熱點數據 我們先看到微博微熱點的數據:全網熱度指數趨勢 從全網熱度指數的變化趨勢來看,地攤經濟的熱度在6月3日起逐步升溫,6月4日 ...
  • QT讀JSON文件步驟,這裡把過程記錄一下,網上大多都是怎麼寫json的,對於讀的,記錄的不多 首先JSON文件格式必須為UTF-8(非UTF-8 with BOM),UTF-8 with BOM 即為UTF-8 前加了BOM標識,會導致解析失敗,報錯內容非法,這時候就將文件保存為UTF-8就好了。 ...
  • 使用vs2019創建ASP.Net Core Web應用程式: 右側高級選項中有一項啟用Docker支持,勾選後vs會自動幫我們創建Dockerfile: 看一下Dockerfile的內容: #See https://aka.ms/containerfastmode to understand ho ...
  • SunnyUI為了避免視覺傳達差異,使用一套特定的調色板來規定顏色,為你所搭建的產品提供一致的外觀視覺感受。 主色 SunnyUI主要品牌顏色是鮮艷、友好的藍色。 ...
  • 0. 前言 通過前兩篇,我們創建了一個項目,並規定了一個基本的數據層訪問介面。這一篇,我們將以EF Core為例演示一下數據層訪問介面如何實現,以及實現中需要註意的地方。 1. 添加EF Core 先在數據層實現層引入 EF Core: cd Domain.Implements dotnet add ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...