ABP 入門 Day02 創(chuàng)建項目

一.創(chuàng)建項目

  1. 由于安裝了Abp Cli,可以直接使用命令創(chuàng)建初始化項目。
  • 在本地盤浮創(chuàng)建一個空文件夾,按住Shift 鍵+鼠標(biāo)右鍵,打開 PowerShell 終端
打開 PowerShell 終端
  • 在終端中執(zhí)行以下命令來創(chuàng)建項目,TodoApp 就是我們的一個解決方案的(項目名稱),然后等待項目創(chuàng)建完成。
abp new TodoApp
  • 在項目創(chuàng)建下載過程中,可能會出現(xiàn)報錯的情況,會導(dǎo)致創(chuàng)建項目失敗,如圖。遇上這種情況,可以多試幾次。 或者可以通過科學(xué)上網(wǎng)來解決這個問題:
創(chuàng)建項目報錯
  • 項目創(chuàng)建成功,如下所示
項目創(chuàng)建成功
  • 項目下載成功后,該文件夾目錄下會生成 TodoApp.sln 解決方案
TodoApp.sln
  1. 另外一種更簡便的創(chuàng)建解決方案的方式,打開官網(wǎng) https://abp.io/ ,點擊開始
ABP官網(wǎng)
  1. 根據(jù)引導(dǎo)進(jìn)行創(chuàng)建下載項目
下載項目

二. 生成項目數(shù)據(jù)庫

  1. 使用VS2022 打開剛創(chuàng)建好的解決方案
打開解決方案
  1. 打開 src 項目源代碼文件夾,src 文件夾包含實際應(yīng)用程序,該應(yīng)用程序基于前面提到的DDD 原則進(jìn)行分層,源碼結(jié)構(gòu)如下。
源碼結(jié)構(gòu)
  1. .Application 項目,包含了.Application.Contracts 項目的 應(yīng)用服務(wù) 接口實現(xiàn)。
  2. .Application.Contracts 項目,主要包含 應(yīng)用服務(wù) interfaces(接口) 和應(yīng)用層的 Dto(數(shù)據(jù)傳輸對像).它用于分離應(yīng)用層的接口和實現(xiàn)。這種方式可以將接口項目做為約定包共享給客戶端。
  3. .DbMigrator 項目,創(chuàng)建數(shù)據(jù)庫(不存在該數(shù)據(jù)庫時),進(jìn)行數(shù)據(jù)庫遷移,初始化種子數(shù)據(jù)。
  4. .Domain 項目,解決方案的領(lǐng)域?qū)?主要包含 實體,集合根,領(lǐng)域服務(wù),值類型,倉儲接口 和解決方案的其他領(lǐng)域?qū)ο蟆?/strong>
  5. .Domain.Shared 項目,包含常量,枚舉和其他對象。這些對象實際上是領(lǐng)域?qū)拥囊徊糠帧?/strong>
  6. .EntityFrameworkCore 項目,這是集成了EF Core 的項目,它定義了DbContext 并實現(xiàn) .Domain 項目中定義的倉儲接口。(當(dāng)前使用cli創(chuàng)建項目,默認(rèn)使用ef core 做為數(shù)據(jù)庫提供程序。注意,如果是選擇其他數(shù)據(jù)庫,則該項目的名稱會改變)。
  7. .EntityFrameworkCore.DbMigrations 項目,它包含解決方案的EF Core 數(shù)據(jù)庫遷移。具有獨立的 DbContext 來專門管理遷移。
  8. .HttpApi 項目,用于定義API控制器。大多數(shù)情況下,我們不需要手動定義API控制器,Abp 的動態(tài)API 功能會根據(jù)項目的應(yīng)用層自動創(chuàng)建API 控制器。
  9. .HttpApi.Client 項目,定義C#客戶端代理使用解決方案的HTTP API 項目。意思就是,我們可以把它共享給第三方客戶端來調(diào)用 我們定義的API 接口。
  10. .Web 項目,是應(yīng)用程序的UI(用戶界面),如果使用asp.net core mvc ui,它包括Razor頁面,javascript 文件,樣式文件,圖片, appsetings.json 配置文件等。appsetings.json文件主要用來配置數(shù)據(jù)庫連接字符串和應(yīng)用程序的其他配置。

具體更詳細(xì)的介紹,請參考引用文獻(xiàn):https://docs.abp.io/zh-Hans/abp/latest/Startup-Templates/Application

三. 項目生成完成后,接著需要創(chuàng)建項目運行的數(shù)據(jù)庫

  1. 首先打開.DbMigrator 項目,找到appsetings.json 文件,打開更改數(shù)據(jù)庫連接字符串,各個數(shù)據(jù)庫連接字符串不一樣,當(dāng)前使用的是sql server,所以連接字符串,只需要把連接服務(wù)改成本地電腦的服務(wù)實例即可。
appsetings.json 文件

sql server 連接字符串大全:https://blog.csdn.net/cncco/article/details/64124460

  1. 選擇 DbMigrator 項目,暫時先把這個項目設(shè)置成啟動項目。目的是為了先單獨啟動它,生成數(shù)據(jù)庫文件先。
image.png

右鍵--->設(shè)為啟動項目

設(shè)為啟動項目
  1. 把.DbMigrator設(shè)置成啟動項目后,按Ctrl+F5 運行該項目但不進(jìn)行調(diào)試。等待項目編譯完成,和控制臺命令執(zhí)行遷移完成。
執(zhí)行遷移
  1. 這樣了就成功創(chuàng)建了數(shù)據(jù)庫并生成了初始化的數(shù)據(jù)。
TodoApp數(shù)據(jù)庫

四. 運行應(yīng)用程序

  1. 接著,重新把.Web 項目,右鍵設(shè)置成啟動項目,按Ctrl+F5 執(zhí)行并不調(diào)試,啟動應(yīng)用程序。如果直接按F5,啟動將非常慢。建議在不需要斷點調(diào)試的情況下,按Ctrl+F5 的方式運行項目。
運行web 項目
  1. 如圖,Abp 項目就成功運行起來了。
image.png

引用參考文獻(xiàn):https://docs.abp.io/zh-Hans/abp/6.0/Tutorials/Todo/Index?UI=MVC&DB=EF

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容