Lino CLI ใฎใคใณในใใผใซใจๆงๆ
ใไฝฟใๅงใใใใใฎๆๅใฎในใใใ Lino CLI ้็บ็ฐๅขใซใใผใซใใคใณในใใผใซใใใใจใงใใ
ใจใใฆ้
ๅธใใใฆใใพใใ ใใใใใใ ใฐใญใผใใซ ใใผใซใใใฏใใณใณใใฅใผใฟใผไธใฎใในใฆใฎ.NET ใใญใธใงใฏใใงไฝฟ็จใงใใใใจใๆๅณใใพใใ
ใคใณในใใผใซใใๅใซใ็พๅจใฎใใณใใฌใผใใซๅฟ
่ฆใช.NET SDK ใๅฉ็จๅฏ่ฝใงใใใใฟใผใใใซใๅฎ่กใงใใใใจใ็ขบ่ชใใฆใใ ใใใ dotnet .NET ใฐใญใผใใซ ใใผใซ ใใฃใฌใฏใใชใ PATHใ
ในใใใ 1: ใคใณในใใผใซ
Lino CLI ใใคใณในใใผใซ (ใพใใฏๆดๆฐ) ใใใซใฏใใฟใผใใใซใงๆฌกใฎใณใใณใใๅฎ่กใใพใใ
dotnet tool install --global Tolitech.Lino
้่ฆใชๆณจๆไบ้
:
- ใใงใซใคใณในใใผใซใใใฆใใใใผใธใงใณใใใๅ ดๅใฏใๆฌกใไฝฟ็จใงใใพใ
dotnet tool update --global Tolitech.Lino ๆดๆฐใใพใใ
- .NET ใฐใญใผใใซ ใใผใซ ใใฃใฌใฏใใชใ
PATH ใทในใใ ใฎใณใใณใใ lino ๆญฃใใๆฉ่ฝใใพใใ
ในใใใ 2: ่จ่ชใๆงๆใใ
ใคใณในใใผใซๅพใCLI ใใกใใปใผใธใใใญใณใใใใญใฐใงไฝฟ็จใใ่จ่ช (ใพใใฏใซใซใใฃ) ใๆงๆใใใใจใใๅงใใใพใใ
lino preferences culture set
ๅฉ็จๅฏ่ฝใช่จ่ชใใ้ธๆใใใใใซๆฑใใใใพใใใใฎ่จญๅฎใซใใใใในใฆใฎๆ็คบใจใใญใณใใใไธ่ฒซใใฆๅธๆใฎ่จ่ชใง่กจ็คบใใใพใใ
ใใฎ่จญๅฎใซใใใCLI ใฎใญใผใซใฉใคใบใใใใกใใปใผใธใใใญใณใใใใฌใคใใณในใๅคๆดใใใพใใใใญใธใงใฏใใง็ๆใใใใจใณใใฃใใฃใใตใผใในใใขใธใฅใผใซใใพใใฏใใธใใน็จ่ชใฎๅๅใฏๅคๆดใใใพใใใ
ในใใใ 3: ่ช่จผใจ็ป้ฒ
้ซๅบฆใชใใณใใฌใผใใDocker ใคใกใผใธใฎๅ
ฌ้ใๅค้จใตใผใในใจใฎ็ตฑๅใๅซใใใในใฆใฎ Lino ๆฉ่ฝใซใขใฏใปในใใใซใฏใ่ช่จผใใใๅฟ
่ฆใใใใพใใ
- ใพใ ็ป้ฒใใฆใใชใๅ ดๅใฏใๆฌกใฎใณใใณใใง็ป้ฒใใพใใ
- ใใงใซ็ป้ฒๆธใฟใฎๅ ดๅใฏใๆฌกใฎๆนๆณใงใญใฐใคใณใใพใใ
ไฝใ่ตทใใใฎใงใใ๏ผ CLI ใฏ่ช่จผใใผใฏใณใใญใผใซใซใซไฟๅญใใใใใไฟ่ญทใใใใชใฝใผในใธใฎใขใฏใปในใๅฟ
่ฆใชใณใใณใใใไฝฟ็จใใใใณใซใญใฐใคใณใใใใจใชใๅฎ่กใงใใพใใ
ใใฎใใผใฏใณใ้ๅ
ฌ้ใซใใ็ฐใชใ้็บ่
ใCI ใจใผใธใงใณใใใพใใฏใใทใณ้ใงๅใใฆใผใถใผ ใใญใใกใคใซใๅ
ฑๆใใชใใใใซใใพใใ
ในใใใ 4: ๆค่จผ
ใคใณในใใผใซใจ่ช่จผใๆๅใใใใจใ็ขบ่ชใใใซใฏใๆฌกใฎใณใใณใใๅฎ่กใใพใใ
ใณใใณใใใคใณในใใผใซใใใฆใใใใผใธใงใณใ่ฟใใๅ ดๅใฏใไฝฟ็จใ้ๅงใใๆบๅใใงใใฆใใพใใ Lino CLI ใใชใใฎใใญใธใงใฏใใงใ
MyApp ใใญใธใงใฏใใฎไฝๆ
ใใฎในใใใใงใฏใ Lino CLIใ
ใใฎใใญใธใงใฏใใฏใใตใผใในใใขใธใฅใผใซใใใญใณใใจใณใใใใใณใในใฆใฎใคใใณใใฎ็ตฑๅใฎไฝๆใๅฎ่จผใใใใใฎๅบ็คใจใใฆๆฉ่ฝใใพใใ
Lino ใใญใธใงใฏใใฏใใฝใชใฅใผใทใงใณใๅซใๅใชใใใฉใซใใผใงใฏใใใพใใใใตใผใในๅข็ใๅ
ฑๆใฉใคใใฉใชใAspire ใในใใใใญใณใใจใณใ ใใฌใผใ ใฏใผใฏใใในใใใใใฑใผใธ็ฎก็ใใขใใฉใคใถใผใใใใณๆฌกใฎใณใใณใใๅๅฉ็จใใๆงๆใฎ่ฆๅใๅฎ็พฉใใพใใ
ในใใใ 1: create ใณใใณใใฎๅฎ่ก
ๆฐใใใใญใธใงใฏใใไฝๆใใใซใฏใใฟใผใใใซใงไปฅไธใฎใณใใณใใๅฎ่กใใพใใ
CLI ใฏๆฎต้็ใซใฌใคใใใๆฌกใฎใใใชๆ
ๅ ฑใๆฑใใพใใ
- ใใญใธใงใฏใๅ: ็งใใกใฏไฝฟ็จใใพใ
MyAppใใ ใใๅฅฝใใชๅๅใ้ธๆใงใใพใใ
- ่ฟฝๅ ๆฉ่ฝ: ใณใผใใขใใฉใคใถใผใๅๆฃใญใฃใใทใฅใ้ๅๆใคใใณใใฎใตใใผใใชใฉใ
ในใใใ 2: ้่ฆใชๆฉ่ฝใฎๆงๆ
ใใฎใใญใธใงใฏใใงใฏใๆๅใใๆฌกใฎๆฉ่ฝใๆๅนใซใใใใจใใๅงใใใพใใ
- ใณใผใใขใใฉใคใถใผ: ใณใผใใ้ฉๅใชๅฎ่ทตใจไธ่ฒซใใๆจๆบใซๅพใฃใฆใใใใจใ็ขบ่ชใใไธ่ฌ็ใชๅฎ่ฃ
ใจใฉใผใ้ฒๆญขใใพใใ
- ๅๆฃใญใฃใใทใฅ: ่คๆฐใฎใตใผใในใไฝฟ็จใใใทใใชใชใงใขใใชใฑใผใทใงใณใฎใใใฉใผใใณในใๅไธใใใไธๅฟ
่ฆใชใใผใฟใใผใน ใฏใจใชใๅ้ฟใใพใใ
- ้ๅๆ้ไฟก: ใตใผใใน้ใฎ็ตฑๅใซใคใใณใใจใญใฅใผใไฝฟ็จใงใใใใใซใใในใฑใผใฉใใชใใฃใจๅ้ขใ็ขบไฟใใพใใ
็ตฑๅใคใใณใใ้ใใฆ้ไฟกใใ่คๆฐใฎใตใผใในใไฝๆใใใใใใใฎใใญใธใงใฏใใงใฏใใใใฎใชใใทใงใณใใในใฆๆๅนใซใใใใจใ้่ฆใงใใ
ใใใซใใใLino ใไฝฟ็จใใฆใขใธใฅใผใซๅผๅๆฃใทในใใ ใๆง็ฏใใๆนๆณใ็่งฃใงใใใใใซใชใใพใใ
ในใใใ 3: ็ๆใใใๆง้
ใณใใณใใๅฎ่กใใฆใชใฝใผในใๆงๆใใใจใCLI ใซใใฃใฆๅๆใใญใธใงใฏใๆง้ ใ็ๆใใใพใใใใใซใฏไปฅไธใๅซใพใใพใ:
- ใตใผใในใจใขใธใฅใผใซใฎใใฉใซใใผใ
- ใใญใณใใจใณใ ใใณใใฌใผใ (่ฉฒๅฝใใๅ ดๅ)ใ
- ๅๆใญใฃใใทใฅ่จญๅฎใใคใใณใใ็ตฑๅใ
- ใฝใชใฅใผใทใงใณ (.slnx) ใใใณใใญใธใงใฏใ (.csproj) ใใกใคใซใฏใณใณใใคใซใฎๆบๅใใงใใฆใใพใใ
ไปใใชใใฎใใญใธใงใฏใ ใใคใขใใช ๆฌกใฎๆ้ ใงๆงๆใใใตใผใในใใขใธใฅใผใซใใจใณใใฃใใฃใใใญใณใใจใณใใๅใๅใๆบๅใใงใใฆใใพใใ
็ถ่กใใๅใซใ็ๆใใใใฝใชใฅใผใทใงใณใ้ใใฆๅฎ่กใใพใใ dotnet build ๅ็
งใใฝใผใน ใธใงใใฌใผใฟใผใใใณใใฌใผใใใใญใธใงใฏใ ใใกใคใซใใใใณๅๆ่จญๅฎใไธ่ฒซใใฆใใใใจใ็ขบ่ชใใพใใ
ใใใฏใชใใฃใน Web ใขใใชใฑใผใทใงใณใฎ่ฟฝๅ
้ๅธธใๅฎๅ
จใชใทในใใ ใซใฏใใใกใคใณใๆไฝใใใใใซๅฐใชใใจใ 1 ใคใฎ Web ใขใใชใฑใผใทใงใณใๅฟ
่ฆใงใใใใฎใฌใคใใงใฏใใขใใชใฑใผใทใงใณใๆฌกใฎใใใซๅผใณใพใใ Backoffice ่ฃฝๅใใซใใดใชใๅจๅบซใ่ฒฉๅฃฒใใใฎไปใฎใทในใใ ๆ
ๅ ฑใ็ฃ่ฆใใใใใฎ็ฎก็่
ใใใใผใธใฃใผใใพใใฏ้็จใฆใผใถใผๅใใฎๅ
้จใคใณใฟใผใใงใคในใ่กจใใพใใ
Web ใขใใชใฑใผใทใงใณใฏใใกใคใณ ใตใผใในใซไปฃใใใใฎใงใฏใใใพใใใใใใฏใAPI ใๆถ่ฒปใใใณใใณใใใใชใฌใผใใใฏใจใชใๅ็
งใใใตใผใในใงใใงใซใขใใซๅใใใฆใใใซใผใซใจไธ่ดใใ็ป้ขใ่กจ็คบใใใใใฎ่ฆ่ฆ็ใชใจใณใใช ใใคใณใใจใใฆๆฉ่ฝใใพใใ
ในใใใ 1: create ใณใใณใใฎๅฎ่ก
ใใญใธใงใฏใใซๆฐใใ Web ใขใใชใฑใผใทใงใณใ่ฟฝๅ ใใใซใฏใๆฌกใไฝฟ็จใใพใ:
ๅ
ฅๅใ็ฐกๅใซใใใใใใจใคใชใขใน lino webapp new ใๅฉ็จใงใใพใใๅฎ่กไธญใฏ Web ใขใใชใฑใผใทใงใณใซๆ็ขบใชๅๅใๆๅฎใใพใใใใฎไพใงใฏ Backoffice ใไฝฟ็จใใพใใ
lino web-app new --name Backoffice
ในใใใ 2: ็ๆใใใๆง้ ใ็่งฃใใ
ๅฆ็ใๅฎไบใใใจใLino ใฏ src/WebApps/<WebAppName> ใซ Web App ใฎๅๆๆง้ ใไฝๆใใพใใBlazor ใขใใชใฑใผใทใงใณใฎๅ ดๅใใใฎๆง้ ใซใฏ server/client ใใญใธใงใฏใใๅ
ฑๆใชใฝใผในใใญใผใซใฉใคใบใใกใคใซใAPI ใๅฉ็จใใใใใฎ clientsใๅพใง lino page new ใไฝฟ็จใใ่ฆ็ดใๅซใพใใใใจใใใใพใใ
- ใใผใธใใณใณใใผใใณใใใฌใคใขใฆใใใตใผใในใใขใใชใฑใผใทใงใณ ใชใฝใผในใฎใใฉใซใใผใ
- ใใญใธใงใฏใ ใตใผใในใซใใฃใฆๅ
ฌ้ใใใ API ใไฝฟ็จใใใใใซๅฟ
่ฆใช HTTP ใฏใฉใคใขใณใใจใณใณใใฉใฏใใ
- Web ใจใฏในใใชใจใณในใงไฝฟ็จใใใใญใผใซใชใผใผใทใงใณ ใชใฝใผในใจๅๆใใณใใฌใผใใ
- ใขใใชใฑใผใทใงใณใฎ็จฎ้กใงใใฎๅ้ขใๅฟ
่ฆใชๅ ดๅใฏใใฏใฉใคใขใณใ/ใตใผใใผ ใใญใธใงใฏใใ
- ใใผใธ็ๆๆใซๅๅฉ็จใใใใซใผใใใใใฒใผใทใงใณใ็ตฑๅใฎ่ฆๅใ
- ่ช่จผๆฉ่ฝใใใญใธใงใฏใใซ่ฟฝๅ ใใใๅ ดๅใ่ช่จผใใใณ่ชๅฏใจใฎ็ตฑๅใใคใณใใ
ในใใใ 3: ใใญใผๅ
ใง Web ใขใใชใไฝๆใใใฟใคใใณใฐ
ใทในใใ ใซ Blazor ใคใณใฟใผใใงใผในใใใใใจใๅใใฃใฆใใๅ ดๅใฏใใใญใธใงใฏใไฝๆ็ดๅพใฎๆฉใๆฎต้ใง Web App ใไฝๆใใพใใใใใซใใใๅพใใ็ๆใใใ servicesใmodulesใentitiesใAPIsใpages ใใใใใใๅฉ็จใใ Web ใขใใชใฑใผใทใงใณใจๆๅใใๆดๅใใพใใ
ใใฎๆตใใ็นใซๆ็จใชใฎใฏใๅพใใไฝๆใใใ services ใใBlazor ใใญใธใงใฏใใใๅฉ็จใใใๅไปใใฎ Api.Contracts ใจ Api.Client ใใญใธใงใฏใใ็ๆใใใใใงใใๆๅใใ Web App ใๅญๅจใใฆใใใฐใdomainใAPIใcontractsใHttpClientใ็ป้ขใพใงใฎไธ้ฃใฎๆตใใๆค่จผใใใใใชใใพใใ
้่ฆใชๆณจๆไบ้
- ใใใฏใชใใฃในใฏใ็ๆใใใ API ใ้ใใฆใใผใฟใๆถ่ฒปใใๆญฃใใใตใผใในใจใขใธใฅใผใซใงใใธใใน ใญใธใใฏใ็ถญๆใใๅฟ
่ฆใใใใพใใ
- ็ฎก็ใใผใธใๅ
ฌ้ใใๅใซใ่ช่จผใๆฟ่ชใๅฝนๅฒใๆจฉ้ใใใใณใขใฏใปใน ใใชใทใผใ็ขบ่ชใใฆใใ ใใใ
- ่คๆฐใฎ Web ใขใใชใฑใผใทใงใณใไฝๆใงใใพใใ
Backoffice ๅ
้จใจ Site ๅฏพ่ฑก่
ใๆจฉ้ใๅฑ้ใใพใใฏ่ฒฌไปปใ็ฐใชใๅ ดๅใฏใใใชใใฏใ
- ใปใญใฅใชใใฃใใใใฒใผใทใงใณใๅฑ้ใใพใใฏใใผใ ใฎๆๆๆจฉใๅฐ้ฃใซใชใๅ ดๅใฏใๅใ Web ใขใใชๅ
ใงใใใชใใฏ ใใญใผใจ็ฎก็ใใญใผใๆททๅจใใใชใใงใใ ใใใ
Web ใขใใชใฑใผใทใงใณใไฝๆใใใใใฌใคใใฏใใใฎใคใณใฟใผใใงใคในใงไฝฟ็จใใใใใผใฟใจใใธใใน ใซใผใซใๆไพใใใตใผใในใจใขใธใฅใผใซใซ้ฒใใใจใใงใใพใใ
ใตใผใในใจใขใธใฅใผใซใฎไฝๆ
ใใฎในใใใใงใฏใใขใใชใฑใผใทใงใณใๆงๆใใใตใผใในใจใขใธใฅใผใซใๆง็ฏใใพใใ
็ฎ็ใฏใใขใธใฅใผใซๅผใงในใฑใผใฉใใซใชใขใผใญใใฏใใฃใไฝๆใใ่ฃฝๅใใซใใดใชใๅจๅบซใ่ฒฉๅฃฒใใกใใฃใขใชใฉใฎใทในใใ ใฎใใพใใพใช้ ๅใ็ฌ็ซใใฆ้ฒๅใงใใใใใซใใไธ่ฒซๆงใ็ถญๆใใใกใณใใใณในใๅฎนๆใซใใใใจใงใใ
ใตใผใในใฏใใใญใคใกใณใใจๆฐธ็ถๆงใฎๅข็ใๅฎ็พฉใใพใใใขใธใฅใผใซใฏใใขใธใฅใผใซๅผใตใผใในๅ
ใฎใใธใใน้ ๅใ็ทจๆใใพใใใใกใคใซใไฝๆใใๅใซใใใกใคใณใฎใฉใฎ้จๅใซ็ฌ่ชใฎใใผใฟใใผในใ็ฌ็ซใใใชใชใผในใ็ตฑๅๅฅ็ดใใพใใฏๅๅฅใฎๆๆๆจฉใๅฟ
่ฆใใ่ฉไพกใใพใใ
ในใใใ 1: ใตใผใในใๅฎ็พฉใใ
ๆๅใซใๆ็ขบใซๅฎ็พฉใใใ่ฒฌไปปใๆใคๆฌกใฎใตใผใในใไฝๆใใพใใ
- Catalog (ใขใธใฅใผใซๅผ) โ ่ฃฝๅใใซใใดใชใไพกๆ ผใฎ็ฎก็ใๆ
ๅฝใใพใใ
- Sales โ ่ฒฉๅฃฒใจๆณจๆใฎๅฆ็ใๆ
ๅฝใใพใใ
- Stock โ ๅจๅบซใจ็งปๅใฎ็ฎก็ใๆ
ๅฝใใพใใ
- Security โ ่ช่จผใ่ชๅฏใใฆใผใถใผ็ฎก็ใๆ
ๅฝใใพใใ
ไพใฎ services ใไฝๆใใใซใฏใservice ใใจใซ 1 ใคใใคใณใใณใใๅฎ่กใใพใใCatalog ใฎ wizard ใงใฏ modular architecture ใ้ธใณใใใฎไปใฏๅ็ดใชๅข็ใซ้ฉใใ architecture ใ้ธๆใใพใใ
lino service new --name Catalog
lino service new --name Sales
lino service new --name Stock
lino service new --name Security
ใณใใณใๅฎ่กไธญใCLI ใฏๆฌกใฎๆ
ๅ ฑใๆฑใใพใ:
- Service name: ไพ:
Catalog;
- Display name and architectural style: ๅฐใใชๅข็ใซใฏ simple architecture ใใservice ใซ็ฌ็ซใใๅ้ๅบฆใฎ้ซใ้ ๅใใใๅ ดๅใฏ modular ใ้ธๆใใพใ;
- Database: ใใญใธใงใฏใใซๆใ้ฉใใๆ่กใ้ธๆใใพใ (SQL ServerใPostgreSQL ใชใฉ);
ในใใใ 2: services ๅ
ใซ modules ใไฝๆใใ
ใในใฆใฎ services ใ modular ใงใใๅฟ
่ฆใฏใใใพใใใใใฎ project ใงใฏใmerchandising ใ pricing ใชใฉใฎ่ฒฌๅใๅ้ขใใใใใCatalog service ใ ใใ modules ใๆใกใพใใ
Catalog service ใซใฏๆฌกใฎ modules ใๅฎ็พฉใใพใ:
- Merchandising โ products ใจ categories ใฎ็ฎก็;
- Pricing โ pricesใpromotionsใๅคๆดๅฑฅๆญดใฎ็ฎก็ใ
Catalog ใฎ modules ใไฝๆใใใซใฏใๆฌกใๅฎ่กใใพใ:
lino module new --service Catalog --name Merchandising
lino module new --service Catalog --name Pricing
ใขใธใฅใฉใผใตใผใในๅ
ใซๅฟ
่ฆใชใ ใใขใธใฅใผใซใไฝๆใงใใพใ Catalogใ
ใใใซใ่ค้ใใซใใฃใฆใฏใไธ้จใฎใขใธใฅใผใซใๅฐๆฅ็ใซ็ฌ็ซใใใตใผใในใซใชใๅฏ่ฝๆงใใใใพใใ
ใใใง็คบใใๅ้ขใฏๆ่จ็ใช็ฎ็ใฎใฟใงใใใใขใธใฅใผใซๅ็ต็นใฎไพใจใใฆๆฉ่ฝใใพใใ
ใขใธใฅใผใซใไฝฟ็จใใฆใใฉใซใใผใไฝๆใใใ ใใงใฏใใใพใใใ็ฌ่ชใฎใจใณใใฃใใฃใใฆใผในใฑใผในใAPIใ็งป่กใใใใณใคใใณใใงใใธใใน้ ๅใไฟ่ญทใใๅ ดๅใซใใใใไฝฟ็จใใพใใ
ๆ็ต็ใชใใญใธใงใฏใๆง้
ใตใผใในใจใขใธใฅใผใซใไฝๆใใๅพใใฝใชใฅใผใทใงใณใฏๆฌกใฎใใใชๆง้ ใซใชใใฏใใงใใ
MyApp/
โโโ src/
โโโ Aspire/
โโโ Integrations/
โโโ Services/
โ โโโ Catalog/
โ โ โโโ Modules/
โ โ โ โโโ Merchandising/
โ โ โ โโโ Pricing/
โ โ โโโ MyApp.Catalog.Host
โ โ โโโ MyApp.Catalog.Infrastructure
โ โโโ Sales/
โ โโโ Security/
โ โโโ Shared/
โ โโโ Stock/
โโโ WebApps/
โโโ Backoffice/
โ โโโ Services/
โ โ โโโ Catalog/
โ โ โโโ Sales/
โ โ โโโ Security/
โ โ โโโ Stock/
โ โโโ MyApp.WebApp.Backoffice
โ โโโ MyApp.WebApp.Backoffice.Client
โโโ Shared/
โโโ MyApp.WebApp.Shared
โโโ tests/
โโโ Services/
โโโ Catalog/
โ โโโ Merchandising/
โ โโโ Pricing/
โโโ Sales/
โโโ Security/
โโโ Shared/
โโโ Stock/
ๆง้ ใฎ่ชฌๆ:
Services/: ใในใฆใฎใทในใใ ใตใผใในใๅซใพใใฆใใใใใใใใ็ฌ่ชใฎใใธใใน ใญใธใใฏใใคใณใใฉในใใฉใฏใใฃใใในใใฃใณใฐใงๅ้ขใใใฆใใพใใ
Modules/: ใขใธใฅใฉใผ ใตใผใในๅ
ใฎใใฉใซใใผใ็นๅฎใฎๆฉ่ฝใๆด็ใใไธ่ฒซใใใณใผใใ็ถญๆใงใใพใใ
WebApps/: ใทในใใ ใซ้ข้ฃไปใใใใใใงใซใตใผใในใจ็ตฑๅใใใฆใใใใญใณใใจใณใใ
Shared/: ใตใผใในใจใใญใณใใจใณใ้ใงๅ
ฑๆใใใใฉใคใใฉใชใจใชใฝใผในใ
tests/: ใตใผใในใจใขใธใฅใผใซใใจใซ็ทจๆใใใๅไฝใในใใจ็ตฑๅใในใใ
ใใฎใขใธใฅใผใซๆง้ ใซใใใๅใใผใ ใ้็บ่
ใฏใทในใใ ใฎใใพใใพใช้จๅใง็ฌ็ซใใฆไฝๆฅญใงใใใใใในใฑใผใฉใใชใใฃใใกใณใใใณในใใในใใๅฎนๆใซใชใใพใใ
ใตใผใในใจใขใธใฅใผใซใไฝๆใใๅพใๅฎ่กใใพใ dotnet build ใใญใธใงใฏใใใฝใชใฅใผใทใงใณใใในใ Aspireใๅ
ฑๆใใญใธใงใฏใใใใใณใในใ ใใฌใผใ ใฏใผใฏใซๆญฃใใใขใฟใใใใใฆใใใใจใ็ขบ่ชใใพใใ
่ช่จผใจ่ชๅฏใฎ่ฟฝๅ
่ช่จผใจ่ชๅฏใฏใ็พไปฃใฎใทในใใ ใซใจใฃใฆไธๅฏๆฌ ใช่ฆ็ด ใงใใ
่ช่จผใฏใฆใผใถใผใ่ชฐใงใใใใ่จผๆใใพใใ่ชๅฏใฏใใใฎใฆใผใถใผใๅฎ่กใงใใๅ
ๅฎนใๅฎ็พฉใใพใใLino CLI ใงใฏใ่ช่จผๆฉ่ฝใฏใใฆใผใถใผใใญใผใซใๆจฉ้ใใใผใฏใณใใขใฏใปใน ใใชใทใผใใใใณ API ใจใฎ็ตฑๅใซๅฟ
่ฆใชใใผในใ็ๆใใพใใ
ในใใใ 1: ่ช่จผใณใใณใใฎๅฎ่ก
่ช่จผใใใณ่ชๅฏๆฉ่ฝใ่ฟฝๅ ใใใซใฏใๆฌกใฎใณใใณใใไฝฟ็จใใพใใ
CLI ใฏๆฌกใฎๆ้ ใๆกๅ
ใใพใใ
-
ใตใผใในใพใใฏใขใธใฅใผใซใฎ้ธๆ: ่ช่จผใขใผใใฃใใกใฏใใใคใณในใใผใซใใๅ ดๆใๆๅฎใใๅฟ
่ฆใใใใพใใ
ใใฎใตใณใใซใใญใธใงใฏใใงใฏใใตใผใในใไฝฟ็จใใพใ Securityใใทในใใ ใฎใปใญใฅใชใใฃ ใญใธใใฏใใในใฆไธๅ
ๅใใพใใ
- ่ฟฝๅ ใฎ่จญๅฎ: ใฆใผใถใผใใญใผใซใๆจฉ้ใใใผใฏใณใฎใใผใใซใฎไฝๆใใใใณใขใฏใปใน ใใชใทใผใฎๆงๆใ
- ใใผใฏใณใฎๆๅนๆ้: ่ฃฝๅใฎใปใญใฅใชใใฃใใชใทใผใซๅพใฃใใขใฏใปในใใผใฏใณใใใณใชใใฌใใทใฅใใผใฏใณใฎๆๅนๆ้ใฎๅฎ็พฉใ
- ใฆใผใถใผ่ญๅฅๅญใฎใฟใคใ: ใฆใผใถใผ ใขใใซใจ็ๆใใใใณใณใใฉใฏใใงไฝฟ็จใใใใฟใคใใ้ธๆใใพใใ
ในใใใ 2: ็ๆใใใๆง้
ใณใใณใใๅฎ่กใใใจใใตใผใในใ Security ๆฌกใฎใใใชใใกใคใซใจใใฉใซใใผใๅซใพใใพใใ
- ใใกใคใณ/ใจใณใใฃใใฃ: ใฆใผใถใผใใญใผใซใๆจฉ้ใใใผใฏใณใฎ้่จใใจใณใใฃใใฃใใซใผใซใ
- ใคใณใใฉในใใฉใฏใใฃ/ๆฐธ็ถๆง: ใใผใฟใใผในๆงๆใEntity Framework ใใใใณใฐใใปใญใฅใชใใฃ ใใผใใซใฎ็งป่กใ
- ๅฟ็จ๏ผ ใณใใณใใใฏใจใชใใใณใใฉใผใ่ช่จผใตใผใในใใใผใฏใณ็ๆใ่ณๆ ผๆ
ๅ ฑใฎๆค่จผใใใใณๆจฉ้ใฎใใงใใฏใ
- API/ใในใ: ใญใฐใคใณใใญใฐใขใฆใใ็ป้ฒใใชใใฌใใทใฅใใผใฏใณใใใณไฟ่ญทใใใๆไฝใฎใใใฎใจใณใใใคใณใใ
- Web ใขใใชใจใฎ็ตฑๅ: Web ใขใใชใฑใผใทใงใณใๅญๅจใใๅ ดๅใฎ่ช่จผใใใใใญใผใฎใตใใผใใ
ใใใซใใใใขใใชใฑใผใทใงใณใฏๅ
็ขใช่ช่จผใจ่ฉณ็ดฐใชใขใฏใปในๅถๅพกใๅใใ่คๆฐใฎใฆใผใถใผใจใใพใใพใชใฌใใซใฎๆจฉ้ใใตใใผใใงใใใใใซใชใใพใใ
ใใใงใใ็ๆใใใใณใผใใฏใๆ็ต็ใชใปใญใฅใชใใฃ ใฌใใฅใผใจใใฆใงใฏใชใใๅผทๅใชๅบ็คใจใใฆๆฑใใใๅฟ
่ฆใใใใพใใๅฎ็จผๅๅใซใใใผใฏใณใฎๆๅนๆ้ใๆจฉ้ใฎ่จญ่จใใในใฏใผใ ใใชใทใผใHTTPSใใทใผใฏใฌใใใใฌใผใๅถ้ใใญใฐใๅฑ้ๆงๆใ็ขบ่ชใใพใใ
Background Jobใฎ่ฟฝๅ
็งใใกใๆง็ฏใใฆใใใใใชๅๆฃๅใขใธใฅใผใซๅใทในใใ ใงใฏ Lino CLIใใในใฆใฎใตใผใในใ็ธไบใซ็ดๆฅ้ไฟกใใใใใงใฏใใใพใใใ
ๆ
ๅ ฑไบคๆใฎไธ่ฒซๆงใจไฟก้ ผๆงใ็ขบไฟใใใใใซใ็ตฑๅใคใใณใใไฝฟ็จใใพใใ
ใใ ใใใใใใฎใคใใณใใๅน็็ใใค้ๅๆ็ใซๅฆ็ใใใซใฏใ Background Jobใ
Lino ใฏๆจๆบใไฝฟ็จใใพใ Outbox ใใฟใผใณ ใตใผใในใซใใฃใฆ็ๆใใใใในใฆใฎใกใใปใผใธใ้ไฟกๅใซ็ขบๅฎใซ่จ้ฒใใใใใใซใใพใใ
ใใใซใใใๆฌกใฎใใจใ้ๆใใใพใใใ
- ใตใผใในใฎ้ๅฎณใพใใฏๅ่ตทๅใ็บ็ใใๅ ดๅใฎใคใใณใใฎๆๅคฑใๅ้ฟใใพใใ
- ๅใใกใใปใผใธใ 1 ๅใ ใ้ไฟกใใใใใใซใใฆใใ ใใใ
- ้
ไฟกๅคฑๆใฎๅ ดๅใซใกใใปใผใธใฎๅๅฆ็ใ่จฑๅฏใใพใใ
- ใคใใณใๅฆ็ใใกใคใณใฎใขใใชใฑใผใทใงใณ ใญใธใใฏใใๅ้ขใใใใใฉใผใใณในใจในใฑใผใฉใใชใใฃใๅไธใใใพใใ
ในใใใ 1: ใณใใณใใฎๅฎ่ก
Background Jobใฎใตใใผใใใใญใธใงใฏใใซ่ฟฝๅ ใใใซใฏใๆฌกใฎใณใใณใใๅฎ่กใใพใใ
lino feature background-job add
CLI ใงใฏใBackground Jobใใคใณในใใผใซใใใใตใผใในใ้ธๆใใใใใซๆฑใใใใพใใไธ่ฌ็ใซใฏใๆฌกใฎใใใชใคใใณใๅถไฝใไธๅ
ๅใใใตใผใในใ้ธๆใใพใใ Catalog ใพใใฏ Salesใ
็พๅจใฎใชใใทใงใณใงใฏใใฆใฃใถใผใใฏใขใธใฅใผใซใใธใงใ ใฉใคใใฉใชใOutbox ใคใใณใใๅฆ็ใใใใฉใใใในใฑใธใฅใผใซใใใใ ใตใคใบใ่ฆๆฑใใใใจใใงใใพใใ็พๅจใฎใใณใใฌใผใ ใใญใผใฏใๅฎๆ็ใชใธใงใใฎๅฎ่กใซ Hangfire ใไฝฟ็จใใพใใ
ในใใใ 2: ๅฎ่กใฎๆงๆ
ๆงๆไธญใซใไปฅไธใๅฎ็พฉใงใใพใใ
- ใใงใใฏ้้: Background Jobใใใผใใซใใใงใใฏใใ้ ปๅบฆใๆฑบๅฎใใพใ Outbox ๆฐใใใกใใปใผใธใฎๅ ดๅใ้้ใ็ญใใใใจใชใฝใผในใฎไฝฟ็จ้ใๅขๅ ใใๅฏ่ฝๆงใใใใ้้ใ้ทใใใใจใคใใณใ้
ไฟกใ้
ใใๅฏ่ฝๆงใใใใพใใ
- ไธๅบฆใซๅฆ็ใใใใฌใณใผใใฎใใใ: ๅฎ่กใใจใซ่ชญใฟๅใฃใฆ้ไฟกใใใคใใณใใฎๆฐใๅถๅพกใใพใใใใใใๅคงใใใใใจใใใฉใผใใณในใๅไธใใพใใใใใๅคใใฎใกใขใชใจๅฆ็ใๅฟ
่ฆใซใชใใพใใ
- ๅๅพใใชใทใผ: ใกใใปใผใธใฎ้ไฟกใซๅคฑๆใใๅ ดๅใซใใธใงใใๅ้ไฟกใ่ฉฆ่กใใๅๆฐใๆงๆใงใใพใใ
ใใใใฎใใฉใกใผใฟใผใฏใใทในใใ ใฎใตใคใบใใใทใณใฎๅฎน้ใใใใณไบๆณใใใใคใใณใใฎ้ใซใใฃใฆ็ฐใชใใพใใ
ในใใใ 3: ็ๆใใใๆง้
ๆงๆๅพใใใญใธใงใฏใใซใฏใใผใใซใใใฎใกใใปใผใธใๅฆ็ใงใใBackground Jobใ็จๆใใใพใใ Outbox ๅใตใผใในใงใ
- ใใฎใฆใผในใฑใผในใงใฏใใใกใคใณใๅคๆดใใใใกใคใณใพใใฏ็ตฑๅใคใใณใใ่จ้ฒใใพใใ
- ไฝๆฅญๅไฝใฏใใใธใใน ใใผใฟใจ Outbox ใใใฎใกใใปใผใธใๅใใใฉใณใถใฏใทใงใณใซไฟๅญใใพใใ
- Hangfire ใฏใไฟ็ไธญใฎใกใใปใผใธใใใใใง่ชญใฟๅใๅฎๆ็ใชใธใงใใๅฎ่กใใพใใ
- ้ๅๆ้ไฟกใๆๅนใชๅ ดๅใใกใใปใผใธใฏ RabbitMQ ใชใฉใฎๆงๆใใใ็ตฑๅใจใณใธใณใซใใใชใใทใฅใใใพใใ
- ๅฎไบใๅคฑๆใๅคใใใพใใฏในใฟใใฏใฎใกใใปใผใธใฏใใธใงใ็จใซ็ๆใใใใญใธใใฏใจๆงๆใซใใฃใฆๅฆ็ใงใใพใใ
ใใใซใใใใในใฆใฎ็ตฑๅใคใใณใใ็ขบๅฎใใคๅน็็ใซๅฆ็ใใใใกใคใณ ใทในใใ ใฎใใใฉใผใใณในใซๅฝฑ้ฟใไธใใใใจใชใใ่คๆฐใฎใตใผใในใจใขใธใฅใผใซใ้ๅๆ้ไฟกใงใใใใใซใชใใพใใ
ๆใ้่ฆใช้็จใซใผใซใฏใใใฉใณใถใฏใทใงใณๅข็ใๆ็ขบใซไฟใคใใจใงใใOutbox ็ต็ฑใง้ไฟกใใๅฟ
่ฆใใใใคใใณใใฏใใใใ่กจใใใธใในๅคๆดใจๅใใใฉใณใถใฏใทใงใณ ใใญใผๅ
ใงไฝๆใใๅฟ
่ฆใใใใพใใ
ใจใณใใฃใใฃใจๅๆใฎไฝๆ
ใใฎใปใฏใทใงใณใงใฏใใขใใชใฑใผใทใงใณใฎใจใณใใฃใใฃใๅๆใValue Objectใฎ่จญ่จใซใคใใฆ่ฉณใใ่ชฌๆใใๅ้
็ฎใใฉใฎใตใผใในใจใขใธใฅใผใซใงไฝๆใใใใใ็คบใใพใใ
1. ใจใณใใฃใใฃใฎไฝๆ Category
Catalog ใตใผใในใจ Merchandising ใขใธใฅใผใซใซ Category entity ใไฝๆใใใซใฏใๆฌกใๅฎ่กใใพใ:
lino entity new --service Catalog --module Merchandising --name Category
ใจใณใใฃใใฃใฏใตใผใในๅ
ใซไฝๆใใใพใ Catalog ใใใฆใขใธใฅใผใซๅ
ใง Merchandising ๆฌกใฎๆง้ ใง:
โโโโโโฌโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ PK โ FK โ Property name โ Type โ Length โ Required โ Auto-increment โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ x โ โ Id โ Guid โ โ x โ x โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Name โ string โ 50 โ x โ โ
โโโโโโดโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
2. ใจใณใใฃใใฃใฎไฝๆ Product
ๆฌกใซใๅใใตใผใในใจใขใธใฅใผใซใซ Product entity ใไฝๆใใพใใใใฎๆตใใงใฏใValue Object ProductDimension ใจ enum ProductStatus ใฏใProduct aggregate ใฎไธ้จใจใใฆใentity ไฝๆ wizard ใฎไธญใง่จญๅฎใใพใ:
lino entity new --service Catalog --module Merchandising --name Product
ๅฎ่กไธญใซใๅ็ดใช propertiesใCategory ใจใฎ relationshipใValue Object ๅใฎ Dimensions propertyใEnum ๅใฎ Status property ใ่ฟฝๅ ใใพใใ
โโโโโโฌโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ PK โ FK โ Property name โ Type โ Length โ Required โ Auto-increment โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ x โ โ Id โ Guid โ โ x โ x โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Name โ string โ 100 โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Description โ string โ 500 โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Price โ decimal โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ x โ CategoryId โ Category โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Dimensions โ ValueObject โ โ โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Status โ Enum โ โ x โ โ
โโโโโโดโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
2.1 Product ๅ
ใง Value Object ProductDimension ใ่จญๅฎใใ
ใใฎใฌใคใใฎใทใใชใชใงใฏใProductDimension ใฏๅฅใณใใณใใงใฏไฝๆใใพใใใProduct ใฎ lino entity new ๅฎ่กไธญใซ Dimensions property ใจใใฆ่ฟฝๅ ใใใ่ฃฝๅใฎๅฏธๆณใ่กจใใพใ:
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโ
โ Property name โ Type โ Length โ Required โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโค
โ Width โ decimal โ โ x โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโค
โ Height โ decimal โ โ x โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโค
โ Depth โ decimal โ โ x โ
โโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโ
ๆณจ: lino value-object new ใณใใณใใฏใValue Object ใๅๅฅใซไฝๆใใๅฟ
่ฆใใใใทใใชใชๅใใซ็จๆใใใฆใใพใใใใฎๅ ดๅใฏใๅฏพ่ฑกใฎ service ใจ module ใฎๅผๆฐใไฝฟ็จใใพใ:
lino value-object new --service <ServiceName> --module <ModuleName> --name <ValueObjectName>
2.2 Product ๅ
ใง Enum ProductStatus ใ่จญๅฎใใ
ๅๆงใซใProductStatus ใฏ Product ใฎ lino entity new ๅ
ใง Status property ใจใใฆ่จญๅฎใใใพใใใใใฏ่ฃฝๅใฎในใใผใฟในใๅฎ็พฉใใพใ:
โโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ
โ Value โ Name โ Display Name โ
โโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 1 โ Active โ Active โ
โโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 2 โ Inactive โ Inactive โ
โโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ 3 โ Discontinued โ Discontinued โ
โโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
ๆณจ: ๅฅใฎใทใใชใชใง enum ใๅๅฅใซไฝๆใใๅฟ
่ฆใใใๅ ดๅใฏใlino enumeration new ใณใใณใใไฝฟ็จใงใใพใ:
lino enumeration new --service <ServiceName> --module <ModuleName> --name <EnumerationName>
3. ๆฐใใใใญใใใฃใฎ่ฟฝๅ
ใใญใธใงใฏใใ้ฒ่กใใใซใคใใฆใๆขๅญใฎใจใณใใฃใใฃใ็ทจ้ใใฆๆฐใใใใญใใใฃใ่ฟฝๅ ใงใใพใใ
ใใจใใฐใ็ปๅใฎใชในใใใจใณใใฃใใฃใซ่ฟฝๅ ใใพใใ Product:
lino entity edit --service Catalog --module Merchandising --entity Product
ใใฎๅใๆตใใฎไธญใงใList<ProductImage> ๅใฎ Images property ใไฝๆใใพใใProductImage ใฏ Product aggregate ใซๅฑใใใใใใใฎๆง้ ใ Product ใฎ lino entity edit ไธญใซ่จญๅฎใใพใ:
โโโโโโฌโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ PK โ FK โ Property name โ Type โ Length โ Required โ Auto-increment โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ x โ โ Id โ Guid โ โ x โ x โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Name โ string โ 100 โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Description โ string โ 500 โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Price โ decimal โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ x โ CategoryId โ EntityId โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Dimensions โ ValueObject โ โ โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Status โ Enum โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ x โ Images โ List โ โ โ โ
โโโโโโดโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
3.1 Product ๅ
ใง ProductImage ใ่จญๅฎใใ
ใใฎใทใใชใชใงใฏใProductImage ใฏๅฅใณใใณใใงใฏไฝๆใใพใใใProduct ใฎ็ทจ้ไธญใซ Images collection ใฎ้
็ฎใจใใฆ่จญๅฎใใใๆฌกใฎๆง้ ใๆใกใพใ:
โโโโโโฌโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ PK โ FK โ Property name โ Type โ Length โ Required โ Auto-increment โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ x โ โ Id โ Guid โ โ x โ x โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ x โ ProductId โ EntityId โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ UploadDate โ DateTimeOffset โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Image โ File โ โ x โ โ
โโโโโโดโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
ๆณจ: lino entity new ใณใใณใใฏใๅฅใฎใทใใชใชใง็ฌ็ซใใ entities ใไฝๆใใใใใซ็จๆใใใฆใใพใใๆขๅญ aggregate ใฎ็ทจ้ใซๅซใพใใชใ entity ใไฝๆใใๅ ดๅใฏใๆฌกใไฝฟ็จใใพใ:
lino entity new --service <ServiceName> --module <ModuleName> --name <EntityName>
4. ไปใฎใตใผใในใฎใจใณใใฃใใฃใฎไฝๆ
ใตใผใในไธญ Salesใใจใณใใฃใใฃใไฝๆใใพใ ProductSnapshotใ็ตฑๅใคใใณใใซใใฃใฆไพ็ตฆใใใพใใ
ใจใณใใฃใใฃใฎๅ
ใฎ ID ใจใใฆ Product ใตใผใในใใๆฅใฆใใพใ Catalogใใใใงใฏ่ชๅๅขๅใฏใงใใพใใใ
lino entity new --service Sales --name ProductSnapshot
โโโโโโฌโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ PK โ FK โ Property name โ Type โ Length โ Required โ Auto-increment โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ x โ โ Id โ Guid โ โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Name โ string โ 100 โ x โ โ
โโโโโโผโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ โ โ Price โ decimal โ โ x โ โ
โโโโโโดโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
ๆณจ: Sales ใตใผใในใฎ ProductSnapshot ใซใฏใๅฟ
่ฆๆๅฐ้ใฎ fields ใฎใฟใ่ค่ฃฝใใฆใใพใใCustomerใOrderใStockItem ใชใฉใฎ่ฃๅฉ็ใช entities ใฏใใใญใฅใกใณใใ็ฐกๆฝใซใใใใใใใงใฏ่ฉณ่ฟฐใใพใใใProductSnapshot ใฏ shadow entity ใจใใฆๆฉ่ฝใใพใใใคใพใใๆๆๅ
ใๅฅใฎใตใผใในใซใใใใผใฟใฎใใญใผใซใซใงๆๅฐ้ใใคๅถๅพกใใใใณใใผใงใใใใใซใใ Sales ใฏใCatalog ใฎ entity ใ database ใซ็ดๆฅไพๅญใใใๅฟ
่ฆใช่ฃฝๅใใผใฟใๅ็
งใงใใพใใ
ใใฎ็จฎ้กใฎๆง้ ใฏใlino shadow-entity new ใฎใจใคใชใขในใงใใ lino shadow new ใณใใณใใงใไฝๆใงใใพใใใใฎๆตใใงใฏใLino ใๅฅใฎ service ใพใใฏ module ใฎ entity ๆง้ ใใณใใผใใๅฉ็จๅดใฎ context ใซๅฟ
่ฆใช properties ใ ใใ้ธๆใงใใใใใซใใพใใ
lino shadow new --service <ServiceName> --module <ModuleName> --name <ShadowEntityName>
ใใฎไพใงใฏใๅ
ใฎ entity ใฏ Catalog.Merchandising.Product ใงใๅฎๅ
ใฏ Sales ใตใผใในใงใใ่ฒฉๅฃฒใซๅฟ
่ฆใช fields ใฎใฟใไฟๆใใพใใ
ใคใใณใใจใใฎใใณใใฉใผใฎไฝๆ
่ฆ็ดใใใจใๅใฎใใใใฏใงใฏใขใธใฅใผใซๅผใตใผใในใไฝๆใใพใใ Catalog.Merchandising ใจใณใใฃใใฃ Productใ Category ใใใฆ ProductImageใๅคๅไธญ Sales ใจใณใใฃใใฃใไฝๆใใพใ ProductSnapshotใ
ๆฌกใซใใใกใคใณ ใคใใณใใจ็ตฑๅใคใใณใใไฝๆใใพใใใใ็ฎ็ใฏใใตใผใในไธใง่ฃฝๅใไฝๆใพใใฏๆดๆฐใใใจใใซใ Catalogใใใใใฎๅคๆดใฏใๆฌกใฎใใใชใณใณใทใฅใผใ ใตใผใในใซใฌใใชใฑใผใใใใพใใ Sales ใใใฆ Stockใ
1. ใใกใคใณใคใใณใใฎไฝๆ
ๆๅใฎในใใใใฏใใกใคใณ ใคใใณใใไฝๆใใใใจใงใ ProductCreated ใใใฆ ProductUpdated ใณใใณใใไฝฟ็จใใฆ:
ไฝๆไธญใซใใคใใณใใใใณใใฉใผใซ้ข้ฃไปใใๅๆใซ็ตฑๅใคใใณใใฎ่ตทๅใๆงๆใงใใพใใใใใซใใใๅฟ
่ฆใชใในใฆใฎใใญใผใฎไฝๆใ้ไธญๅใใใพใใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Question โ Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a service: โ Catalog โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a module: โ Merchandising โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a entity: โ Product โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select the event type: โ Domain Event โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event: โ ProductCreated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Do you want to create an associated event handler? โ Yes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Trigger a integration event? โ Yes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Choose the integration event to be triggered: โ (Create new integration event) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event: โ ProductCreated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Which model will be used for this integration event? โ Creation model โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๅๆงใซใคใใณใใไฝๆใใพใ ProductUpdated:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Question โ Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a service: โ Catalog โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a module: โ Merchandising โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select a entity: โ Product โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Select the event type: โ Domain Event โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event: โ ProductUpdated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Do you want to create an associated event handler? โ Yes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Trigger a integration event? โ Yes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Choose the integration event to be triggered: โ (Create new integration event) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event: โ ProductUpdated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Which model will be used for this integration event? โ Update model โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ใใใซใใใๆฌกใฎใใใซใชใใพใใ
- ไฝๆใใใใใกใคใณ ใคใใณใ (
ProductCreated ใใใฆ ProductUpdated);
- ๅฏพๅฟใใใใกใคใณ ใคใใณใ ใใณใใฉใผใ
- ็ตฑๅใคใใณใใฏใใใกใคใณ ใคใใณใ ใใณใใฉใผใซใใฃใฆ่ชๅ็ใซ Outbox ใซ่จ้ฒใใใพใใ
2. ็ตฑๅใคใใณใใใณใใฉใผใฎไฝๆ
ๆฌกใฎในใใใใฏใใฉใฎใตใผใในใ็ตฑๅใคใใณใใๆถ่ฒปใใใใๅฎ็พฉใใใใจใงใใใใใ่กใใซใฏใไปฅไธใไฝฟ็จใใพใใ
ไฝๆใใญใผใซใฏๆฌกใฎใใฎใๅซใพใใพใใ
- ใใณใใฉใผใๅซใใตใผใในใใขใธใฅใผใซใใจใณใใฃใใฃใ้ธๆใใพใใ
- ๆถ่ฒปใใใ็ตฑๅใคใใณใใจใใใใใฉใฎใตใผใใน/ใขใธใฅใผใซ/ใจใณใใฃใใฃใใๅๅพใใใใใ้ธๆใใพใใ
ใใจใใฐใใตใผใในใงใฏ Sales ใใณใใฉใผใไฝๆใใพใใ ProductCreated ใใใฆ ProductUpdated ใใใซใใใใชใฌใผใใใใคใใณใใๆถ่ฒปใใใพใใ Catalog.Merchandising.Product:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ Question โ Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a service: โ Sales โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a entity: โ ProductSnapshot โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event type: โ Integration Event โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's service to be consumed: โ Catalog โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's module to be consumed: โ Merchandising โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's entity to be consumed: โ Product โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Choose the event to be consumed: โ ProductCreated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event handler: โ ProductCreated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ Question โ Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a service: โ Sales โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a entity: โ ProductSnapshot โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event type: โ Integration Event โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's service to be consumed: โ Catalog โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's module to be consumed: โ Merchandising โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select the event's entity to be consumed: โ Product โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Choose the event to be consumed: โ ProductUpdated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Enter the name of the event handler: โ ProductUpdated โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
ใใใซใใใใตใผใในๅ
ใซ 2 ใคใฎ็ตฑๅใคใใณใ ใใณใใฉใผใ่ฟฝๅ ใใใพใใใ Salesใฎ็ตฑๅใคใใณใใใๅฟ
่ฆใชใใฃใผใซใใฎใฟใๆถ่ฒปใใพใใ Catalog.Merchandisingใ
ใใใซใใใใฌใใชใฑใผใใใใใใผใใซใซใฏ้่ฆใชใใผใฟใฎใฟใไฟๆใใใในใใฌใผใธใจใใใฉใผใใณในใๆ้ฉๅใใใพใใ
ใขใผใญใใฏใใฃใซ้ขใใฆใไบๆณใใใใใญใผใฏๆฌกใฎใจใใใงใใใณใใณใ ใใณใใฉใผใ้็ดใๅคๆดใใใใกใคใณ ใคใใณใใ็บ็ใใใใณใใฉใผใ็ตฑๅใคใใณใใๆบๅใใOutbox ใใกใใปใผใธใไฟๅญใใBackground Jobใๅ้กใๅฆ็ใใใกใใปใผใธใณใฐ ใจใณใธใณใใณใณใทใฅใผใใผใซใกใใปใผใธใ้
ไฟกใใพใใ
ใใใซใใใใตใผใใน้ใฎๅๆ็ตๅใๅ้ฟใใใๅฏพๅฟใใใคใใณใใๅ
ฌ้ใใใใซใใผใฟใใผในใๅคๆดใใใใชในใฏใ่ปฝๆธใใใพใใ
Web ใใผใธใAPIใใณใใณใใใใณใฏใจใชใฎ็ๆ
ๅคงใใชๅฉ็นใฎ 1 ใคใฏใ Lino CLI Web ใใผใธใAPIใใณใใณใใใฏใจใชใ่ชๅๅใใใๆนๆณใง็ตฑๅ็ใซไฝๆใงใใใใใซใชใใ้็บใใญใผๅ
จไฝใ็ฐก็ด ๅใใใพใใ
ใใกใคใณ ใขใใซใๅๅใซๅฎๅฎใใฆใใๅ ดๅใใใฎใณใใณใใฏ็ป้ขใใๆฐธ็ถๅใธใฎๅฎๅ
จใชใในใไฝๆใใๅใฎๆ้ ใง่กใใใใขใใชใณใฐไฝๆฅญใใจใณใ ใฆใผใถใผใซ่ฆใใใใใซใใพใใ
ใพใใๆฌกใฎใณใใณใใๅฎ่กใใใ ใใงใใ
ใใฎใใญใปในใงใฏใๆฌกใฎใใจใ่กใใพใใ
- ๅ
ฌ้ใใใใตใผใในใใขใธใฅใผใซใใจใณใใฃใใฃใ้ธๆใใพใใ
- ็ๆใใใใใผใธใฎใฟใคใใจๅๅใ้ธๆใใพใใ
- ใชในใใฎไธ้จใจใชใใใฃใผใซใใ้ธๆใใพใใ
- ใชในใใใผใธ๏ผใใผใธๅๅฒใใใใฐใชใใ๏ผใจไฝๆ/็ทจ้ใใฉใผใ ใ่ชๅ็ใซ็ๆใใพใใ
- ใใญใณใใจใณใใงไฝฟ็จใใ HttpClient ใฏใฉในใ็ๆใใพใใ
- ใชใฏใจในใ/ใฌในใใณในใณใณใใฉใฏใใจๅฟ
่ฆใชใในใฆใฎ REST API (POSTใPUTใPATCHใDELETEใGET) ใไฝๆใใพใใ
- ใณใใณใใใฏใจใชใใใณใใฉใผใใใชใใผใฟใไฝๆใใใใผใฟใใผในใซ้ไฟกใใฆๅฎๅ
จใช CRUD ใใญใผใไฟ่จผใใพใใ
ใใฎใณใใณใใไฝฟ็จใใใจใใคใณใฟใผใใงใผในๅฑคใAPIใใใธใใน ใญใธใใฏใๆๅใง่จ่ฟฐใใๅฟ
่ฆใใชใใใตใผใใน้ใฎๆจๆบใจไธ่ฒซๆงใ็ถญๆใใชใใๆฉ่ฝใใใขใใชใฑใผใทใงใณใๅๅพใงใใพใใ
ใใใงใใใใญใใใฃ ใกใฟใใผใฟใ ใใใใในใฆใฎใซใผใซใๆจๆธฌใงใใใใใงใฏใชใใใใ็ๆๅพใซใใธใใน ใซใผใซใจๆค่จผใ็ขบ่ชใใฆใใ ใใใ
ใใฎใใญใธใงใฏใใงใฏใๆฌกใฎใจใณใใฃใใฃใฎ็ตฑๅใใผใธใ็ๆใงใใพใใ
- Catalog.Merchandisingใ
Category
- Catalog.Merchandisingใ
Product
- Salesใ
ProductSnapshot
ใใผใธใAPIใใใใณใณใใณใ/ใฏใจใชใ็ๆใใๅพใใขใใชใฑใผใทใงใณใฏใใญใณใใจใณใใจใใใฏใจใณใใฎ้ใงๅฎๅ
จใซๅฏพ่ฉฑใงใใใใใซใชใใๆค่จผใใซใผใใๆฐธ็ถๆงใใใงใซ่ชๅ็ใซๆงๆใใใฆใใพใใ Lino CLIใ
่ตฐใ dotnet build ไธไปฃๅพใซใๅฃใใๅ็
งใไธ่ฒซๆงใฎใชใๅฅ็ดใใพใใฏๆ่ฟใฎใขใใซๅคๆดใฎๅฝฑ้ฟใๆฉๆใซ็นๅฎใใพใใ
็งป่กใฎไฝๆใจ้ฉ็จ
ใจใณใใฃใใฃใValue Objectใๅๆใ้ขไฟใ่ช่จผใใใใณใ ใตใใผใใใพใใฏBackground Jobใฎๆฐธ็ถๆงใไฝๆใพใใฏๅคๆดใใๅพใใใผใฟใใผในใจใณใผใใฎๆดๅๆงใไฟใคใใใซ็งป่กใ็ๆใใพใใ็งป่กใซใใใใขใใซใฎๅคๆดใๆ็คบ็ใงใใผใธใงใณ็ฎก็ๅฏ่ฝใงใฌใใฅใผๅฏ่ฝใชๆๆ็ฉใซๅคๆใใใพใใ
ใถ Lino CLI ใฏใใใฎใใญใปในใ Entity Framework ใจ่ชฟๆดใใๆญฃใใใตใผใใน/ใขใธใฅใผใซใ้ธๆใใใตใผใในใฎ็พๅจใฎใใผใธใงใณใไฝฟ็จใใ็ๆใใใในใฏใชใใใๆด็ใใฆใใฌใผใตใใชใใฃใๅฎนๆใซใใพใใ
ในใใใ 1: ็งป่กใฎไฝๆ
ๆฐใใ็งป่กใไฝๆใใใซใฏใๆฌกใๅฎ่กใใพใใ
lino database migrations add
ใใฎใณใใณใใฏใๆฌกใฎใใใชใจใคใชใขในใๅใๅ
ฅใใใใจใใงใใพใใ lino database migrations new ใใใฆ lino database migrations createใงใใใใใญใฅใกใณใใงๆจๅฅจใใใฆใใๆนๆณใฏๆฌกใฎใจใใใงใใ addใ
ๅฎ่กไธญใซใๆฌกใฎใใจใ้็ฅใใๅฟ
่ฆใใใใพใใ
- ็งป่กใๅใๅใใตใผใในใใใจใใฐใ
Catalog;
- ใตใผใในใใขใธใฅใผใซๅใฎๅ ดๅใๅฝฑ้ฟใๅใใใขใธใฅใผใซใ
Merchandising;
- ใตใผใในใฎ็พๅจใฎใใผใธใงใณใๆฌกใใ่ชญใฟๅใใพใใ
src/Services/<ServiceName>/version.txt;
- ็งป่กใฎๅฎข่ฆณ็ใช่ชฌๆใๆฌกใฎใใใชใใฎใงใใ
Initial migration ใพใใฏ Add product imagesใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ Question โ Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a service: โ Catalog โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Select a module: โ Merchandising โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Current version of the service: โ 0.1.0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ Provide a description for this migration: โ Initial migration โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
ใตใผใในใจใขใธใฅใผใซใใใงใซ็ฅใฃใฆใใๅ ดๅใฏใใใฎใใผใฟใ็ดๆฅๅ
ฅๅใงใใพใใ
lino database migrations add --service <ServiceName> --module <ModuleName>
ในใใใ 2: ็ๆใใใใใฎ
ไฝๆใ็ขบ่ชใใใจใใLino ใฏใ้ธๆใใใตใผใในใพใใฏใขใธใฅใผใซๆฐธ็ถๅใใญใธใงใฏใใซๅฏพใใฆๆญฃใใ Entity Framework ใณใใณใใๆบๅใใพใใใขใธใฅใผใซๅใตใผใในใงใฏใ็งป่กใฏๅฏพๅฟใใใขใธใฅใผใซๅ
ใงๅ้ขใใใใพใพใจใชใใ็ฐใชใใณใณใใญในใใใใฎๅคๆดใๆททๅจใใใใจใๅ้ฟใใใพใใ
- ใตใผใในใฎ็พๅจใฎใใผใธใงใณใซ้ข้ฃไปใใใใๆฐใใใใผใฟใใผในใฎ็งป่กใ
- ๅฏพๅฟใใ SQL ในใฏใชใใใฏใๆฐธ็ถๅใฌใคใคใผใซ็ทจๆใใใๆฌกใฎใใใชใใผใธใงใณ็ฎก็ใใใใในใซใใใพใใ /scripts/<ใใผใธใงใณ>/<ใใกใคใซๅ>;
- ้ธๆใใใตใผใในใพใใฏใขใธใฅใผใซใฎใคใณใใฉในใใฉใฏใใฃ/ๆฐธ็ถๆง้ ใจไบๆๆงใฎใใใขใผใใฃใใกใฏใใ
- ใตใผใในใฎใใผใธใงใณใในใญใผใใฎๅคๆดใใขใใชใฑใผใทใงใณใฎใชใชใผในใซ้ข้ฃใใ่ฟฝ่ทกๅฏ่ฝใชๅฑฅๆญดใ
ในใใใ 3: ็งป่กใฎใชในใใจ้ฉ็จ
ใใผใฟใใผในใซๅคๆดใ้ฉ็จใใๅใซใๆข็ฅใฎ็งป่กใใชในใใใไบๆณใใใ็งป่กใๅญๅจใใใใจใ็ขบ่ชใใพใใ
lino database migrations list --service <ServiceName> --module <ModuleName>
ๆงๆใใใ็ฐๅขใซ็งป่กใ้ฉ็จใใใซใฏ:
lino database migrations apply --service <ServiceName> --module <ModuleName>
ใญใผใซใซ้็บใงใฏใใใฎใใญใผใซใใใขใใซใฎๆค่จผใ้ซ้ๅใใใพใใๅ
ฑๆ็ฐๅขใพใใฏ้็จ็ฐๅขใงใฏใใใผใ ใๅฎ็พฉใใๅฑ้ใใญใปในใ้ใใฆ็งป่กใ้ฉ็จใใๅฟ
่ฆใซๅฟใใฆในใฏใชใใใฎใฌใใฅใผใๆฟ่ชใใใใฏใขใใใ่กใใพใใ
ในใใใ 4: ๅถๅพกใใใ็ฐๅขใงๅ
ใซๆปใใๅ้คใใ
ไฝฟ็จ revert ๅถๅพกใใใ็ฐๅขใง้ฉ็จใใใ็งป่กใๆปใๅฟ
่ฆใใใๅ ดๅใฏใ็งป่กใฎๅ
ๅฎนใซใใฃใฆใฏๆไฝใง็ ดๅฃ็ใชใณใใณใใๅฎ่กใใใๅฏ่ฝๆงใใใใใจใ็่งฃใใฆใใ ใใใ
lino database migrations revert --service <ServiceName> --module <ModuleName>
ไฝฟ็จ remove ้ๅธธใๅคๆดใใณใใใใพใใฏๅ
ฌ้ใใๅใซใใณใใใใใใฆใใชใๆๅพใฎ็งป่กใ็ ดๆฃใใพใใ
lino database migrations remove --service <ServiceName> --module <ModuleName>
่ฏใ็ฟๆ
ฃ
- ๆฐใใใจใณใใฃใใฃใใใญใใใฃใใชใฌใผใทใงใณใทใใใใคใณใใใฏในใๅถ็ดใ่ช่จผใใผใใซใใพใใฏ Outbox ใใผใใซใชใฉใๆฐธ็ถใขใใซใซๅคๆดใใใฃใๅ ดๅใฏๅธธใซ็งป่กใไฝๆใใพใใ
- ๅ
ฑๆ็ฐๅขใซ้ฉ็จใใๅใซใ็ๆใใใใณใผใใจ SQL ใ็ขบ่ชใใฆใใ ใใใ
- ๅๅใฎๅคๆดใๅใฎๅคๆดใๅใฎๅ้คใใญใผใฎๅคๆดใในใญใผใใฎๅคๆดใใใใณใใผใฟๆๅคฑใๅผใ่ตทใใๅฏ่ฝๆงใฎใใๆไฝใซใฏ็นใซๆณจๆใใฆใใ ใใใ
- ใตใผใในใฎใใผใธใงใณใ็ๆใใใในใฏใชใใใจไธ่ดใใใฆใ็ฃๆปใ่จ็ป็ใชใญใผใซใใใฏใใใใณใชใชใผในใฎ้ไฟกใๅฎนๆใซใใพใใ
- ็งป่กใไฝๆใใๅพใใใซใใใใณ้ข้ฃใในใใๅฎ่กใใฆใใใกใคใณใๆฐธ็ถๆงใAPIใใใใณ็ๆใใใใใผใธใไธ่ฒซๆงใไฟใฃใฆใใใใจใ็ขบ่ชใใพใใ
ใใฎใใญใผใซๅพใใใจใงใใใผใฟใใผในใฏ Lino ใงๅฎ็พฉใใใใใกใคใณ ใขใใซใจใฎไธ่ฒซๆงใไฟใกใๅในใญใผใใฎๅคๆดใฏๆๆธๅใใใ่ฟฝ่ทกๅฏ่ฝใซใชใใๅฑ้ๅใซใฌใใฅใผใงใใใใใซใชใใพใใ
ในใใใ 5: ใขใใชใฑใผใทใงใณใใญใผใซใซใงๆค่จผใใ
projectใWeb AppใservicesใmodulesใentitiesใmigrationsใAPIsใCommandsใQueries ใๆใฃใใใDocker images ใ็ๆใใๅใซใขใใชใฑใผใทใงใณใๆค่จผใใพใใใพใ solution ใใใซใใใ็ๆใใใใในใฆใฎ projectsใcontractsใclients ใๆดๅใใฆใใใใจใ็ขบ่ชใใพใ:
ๆฌกใซใAspire ใฎ AppHost ใใใขใใชใฑใผใทใงใณใๅฎ่กใใพใ:
dotnet run --project src/Aspire/AppHost/<ProjectName>.AppHost.csproj
Aspire dashboard ใไฝฟใฃใฆใAPIsใWeb AppใdatabaseใcacheใmessagingใBackground Jobs ใๆญฃใใ่ตทๅใใใ็ขบ่ชใใพใใใใฎๅพใBackoffice ใงไธป่ฆใช flows ใใในใใใพใใ็ๆใใใ pagesใBlazor ใใ Api.Client projects ใธใฎๅผใณๅบใใ้ฉ็จๆธใฟ migrationsใๆๅนๅใใใฆใใๅ ดๅใฎ authenticationใใทใใชใชใซๅซใพใใ events ใพใใฏ jobs ใ็ขบ่ชใใพใใ
ใขใใชใฑใผใทใงใณใใใซใใงใใใญใผใซใซใงๅฎ่กใงใใไธป่ฆใช flows ใๆค่จผใงใใใใproject ใฏใใใฑใผใธใณใฐๆฎต้ใซ้ฒใๆบๅใใงใใฆใใพใใ
Docker ใคใกใผใธใฎ็ๆ
ใขใใชใฑใผใทใงใณใใใซใใงใใAppHost ใใใญใผใซใซๅฎ่กใใใไธป่ฆใช flows ใใในใๆธใฟใซใชใฃใใใservices ใจ Web applications ใฎ Docker images ใ็ๆใใๅพใง container registry ใซๅ
ฌ้ใงใใพใใ
้ธๆใใ้
็ฎใ images ใจใใฆใใใฑใผใธใณใฐใใๆบๅใใงใใใใlino build ใไฝฟ็จใใพใใ
ใถ Lino CLI ๆฌกใฎใณใใณใใไฝฟ็จใใฆใใฎใใญใปในใ็ฐก็ฅๅใใพใใ
ๅฎ่กใใใจใใใญใธใงใฏใใงๅฉ็จๅฏ่ฝใชใในใฆใฎใตใผใในใจ Web ใขใใชใฑใผใทใงใณใฎใชในใใใใใใใฎ็พๅจใฎใใผใธใงใณใจใจใใซ่กจ็คบใใใพใใ
Select the services or web applications you want to include in the build:
> [ ] Services
[ ] Catalog |0.1.0|
[ ] Sales |0.1.0|
[ ] Security |0.1.0|
[ ] Stock |0.1.0|
[ ] Web applications
[ ] Backoffice |0.1.0|
1 ใคไปฅไธใฎใตใผใในใจ Web ใขใใชใฑใผใทใงใณใ้ธๆใใฆใใคใกใผใธใๅๆใซ็ๆใงใใพใใๅธๆใฎ้
็ฎใซใใงใใฏใๅ
ฅใใใ ใใงใใ
ๆฌกใซใ็ๆใใใใคใกใผใธใฎใใผใธใงใณใๆดๆฐใใๆนๆณใ้ธๆใใใใๆฑใใใใพใใไฝฟ็จๅฏ่ฝใชใชใใทใงใณใฏๆฌกใฎใจใใใงใใ
- ็พๅจใฎใใผใธใงใณใ็ถญๆใใ โ ๆขๅญใฎใใผใธใงใณใๅคๆดใใพใใใ
- ใใใ โ ใใใใฎใใผใธใงใณใใคใณใฏใชใกใณใใใพใ (ไพ: 0.1.0 โ 0.1.1)ใ
- ใใคใใผ โ ใใคใใผ ใใผใธใงใณใใคใณใฏใชใกใณใใใพใ (ไพ: 0.1.0 โ 0.2.0)ใ
- ้ธ่็ง็ฎ โ ใกใธใฃใผ ใใผใธใงใณใๅขใใใพใ (ไพ: 0.1.0 โ 1.0.0)ใ
ใตใผใในใ้ธๆใใใใผใธใงใณใฎๅขๅใๅฎ็พฉใใๅพใ Lino CLI ๅฎ่กใใพใ:
- ๅใตใผใในใจ Web ใขใใชใฑใผใทใงใณใฎใณใผใใๆง็ฏใใพใใ
- ๅฏพๅฟใใ Docker ใคใกใผใธใฎ็ๆใ
- ๅฎ็พฉใใใใใผใธใงใณใไฝฟ็จใใใฟใฐใฎ้ฉ็จใ
- ใณใณใใใผ ใฌใธในใใชใงๅ
ฌ้ใงใใใคใกใผใธใไฝๆใใพใใ
- ๆฌกใฎใใใชใใใชใใทใฅใใฉใกใผใฟใไฝฟ็จใใ
-c Releaseใ -p:PublishProfile=DefaultContainerใ -p:ContainerRepositoryใ -p:ContainerImageTag ใใใฆ -p:ContainerLabelVersionใ็ๆใใใใใญใธใงใฏใใฎ็จฎ้กใซๅฟใใฆ็ฐใชใใพใใ
ใใญใปในใฎๆๅพใซใใในใฆใฎ Web ใตใผใในใจใขใใชใฑใผใทใงใณใ้ธๆใใใฆใใใใจใ่ๆ
ฎใใใจใ็ๆใใใใคใกใผใธใฏๆฌกใฎๆง้ ใซใชใใพใใ
- my-app/services/catalog-host - ใฟใฐ: 0.1.0
- my-app/services/sales-api - ใฟใฐ: 0.1.0
- my-app/services/security-api - ใฟใฐ: 0.1.0
- my-app/services/stock-api - ใฟใฐ: 0.1.0
- my-app/webapps/backoffice - ใฟใฐ: 0.1.0
ไธ่ฌ็ใซใๅ็ดใชใตใผใในใฏๆฌกใฎใใใชใชใใธใใชใ็ๆใใๅพๅใใใใพใใ project-name/services/service-name-api:1.2.3ใใขใธใฅใฉใผ ใตใผใในใฏใในใใๆฌกใฎใใใซไฝฟ็จใใพใใ project-name/services/service-name-host:1.2.3ใใใใณ Blazor ใขใใชใฑใผใทใงใณใฏๆฌกใฎใใใชใในใไฝฟ็จใใพใใ project-name/webapps/webapp-name:1.2.3ใ
่ฆณๅฏ๏ผ ใใฎใใญใปในใซใใใใณใผใใจ Docker ใคใกใผใธใฎใใผใธใงใณ้ใฎไธ่ฒซๆงใไฟ่จผใใใๅใตใผใในใ็ฌ็ซใใใณใณใใใผใซๅ้ขใงใใใใจใซๅ ใใฆใ่คๆฐใฎ็ฐๅขใฎๅฑ้ใจใกใณใใใณในใๅฎนๆใซใชใใพใใ
ใญใผใซใซ ใคใกใผใธใ็ๆใใใใใใใใใDocker ใใใGitHub Container RegistryใAWS ECRใAzure Container Registryใใพใใฏๅฅใฎ OCI ๆบๆ ใฎใฌใธในใใชใชใฉใใใใญใค ใใฉใใใใฉใผใ ใงไฝฟ็จใใใใฌใธในใใชใซๅ
ฌ้ใใพใใใคใกใผใธๅ
ใซใทใผใฏใฌใใใๅฎ็จผๅๆฅ็ถๆๅญๅใใพใใฏ่ณๆ ผๆ
ๅ ฑใๅซใใชใใงใใ ใใใ
ใขใใชใฑใผใทใงใณใงใฎใใผใธใงใณใฎไฝๆ
Lino ใฏใๅใตใผใในใฎ้็จใใผใธใงใณใ็ถญๆใใพใใ src/Services/<ServiceName>/version.txt ใใใณๅ Web ใขใใชใฑใผใทใงใณ src/WebApps/<WebAppName>/version.txtใใใใซใใใๅฑ้ๅฏ่ฝใชใขใคใใ ใใจใซ็ฌ็ซใใใชใชใผในใ่จ็ปใงใใพใใ
ใใผใธใงใณใๅคๆดใใๅใซใ็พๅจใฎ็ถๆ
ใๆคๆปใใฆใใ ใใใ
ไฝฟ็จ lino version show ็นๅฎใฎใตใผใในใพใใฏ Web ใขใใชใฑใผใทใงใณใๅ็
งใใๅฟ
่ฆใใใๅ ดๅใ
Web ใตใผใในใพใใฏใขใใชใฑใผใทใงใณใฎๆฐใใใใผใธใงใณใฎ่ฟฝๅ ใฏใใทใณใใซใใค้ไธญๅใใใใใญใปในใงใใ Lino CLIใๆฌกใฎใณใใณใใๅฎ่กใใใ ใใงใใ
Docker ใคใกใผใธใ็ๆใใใฎใจๅใใใใซใใใฎใณใใณใใๅฎ่กใใใจใใใญใธใงใฏใๅ
ใฎใในใฆใฎใตใผใในใจ Web ใขใใชใฑใผใทใงใณใฎๅฎๅ
จใชใชในใใ่กจ็คบใใใพใใ
้ธๆใใ้
็ฎใฎใฟใใผใธใงใณใไธใใใๆฎใใฎ้
็ฎใฏๅคๆดใใใพใใใ
Select the services or web applications that will have version changes:
> [ ] Services
[ ] Catalog |0.1.0|
[ ] Sales |0.1.0|
[ ] Security |0.1.0|
[ ] Stock |0.1.0|
[ ] Web applications
[ ] Backoffice |0.1.0|
ๅฟ
่ฆใช้
็ฎใ้ธๆใใๅพใใใผใธใงใณๅขๅใฎใฟใคใใ้ธๆใใใใๆฑใใใใพใใไฝฟ็จๅฏ่ฝใชใชใใทใงใณใฏๆฌกใฎใจใใใงใใ
- ใใใ โ ๆฉ่ฝใซๅฝฑ้ฟใไธใใชใๅฐใใชไฟฎๆญฃใ
- ใใคใใผ โ ไปฅๅใฎใใผใธใงใณใจไบๆๆงใฎใใๆฐๆฉ่ฝใฎ่ฟฝๅ ใ
- ้ธ่็ง็ฎ โ ไปฅๅใฎใใผใธใงใณใจใฎไบๆๆงใๅคฑใใใๅฏ่ฝๆงใฎใใๅคๆดใ
Web ใตใผใในใจใขใใชใฑใผใทใงใณใฎใใผใธใงใณใไปฅไธใซ็ดๆฅๅฝฑ้ฟใใใใจใๅผท่ชฟใใใใจใ้่ฆใงใใ
- ็ปๅใฟใฐใฏ Docker ใงใใ
- ใใผใฟใใผใน็งป่กใซใใฃใฆ็ๆใใใในใฏใชใใใไฟๅญใใใใใซไฝฟ็จใใใใใฉใซใใผใ
- ใชใชใผในใจใใญใธใงใฏใๅฑฅๆญดใฎ็ฎก็ใ
- ใชใชใผใน ใใผใใๅฑ้ใใใใงในใใใใใณ API ใณใณใทใฅใผใใผใจใฎใณใใฅใใฑใผใทใงใณใ
ใใณใใ้ฉ็จใใๅใซใใชใชใผในใฎไธ้จใงใใใณใผใๅคๆดใ็งป่กใ็ตฑๅใคใใณใใAPI ใณใณใใฉใฏใใใใใณใใญใณใใจใณใใฎๅคๆดใ็ขบ่ชใใฆใใ ใใใ 1 ใคใฎใใผใธใงใณ ใใใ ไบๆๆงใฎใใไฟฎๆญฃใ่กจใๅฟ
่ฆใใใใพใใ ใใคใใผ ไบๆๆงใฎใใ่ฟฝๅ ใ่กจใๅฟ
่ฆใใใใ ้ธ่็ง็ฎ ๆถ่ฒป่
ใ้ฉๅฟใใๅฟ
่ฆใใใๅคๆดใฎใใใซไบ็ดใใฆใใๅฟ
่ฆใใใใพใใ
ใใใงใ Lino CLIใใคใณในใใผใซใใตใผใในใใจใณใใฃใใฃใใคใใณใใใใผใธใฎไฝๆใใใDocker ใคใกใผใธใฎ็ๆใจใใผใธใงใณ็ฎก็ใพใงใ
ๅฎๅ
จใชใใญใผใฏ่ฟฝ่ทกๅฏ่ฝใงใใใใกใคใณใฎใขใใชใณใฐใใฆใผในใฑใผในใจ็ป้ขใฎ็ๆใใใซใใจใในใใซใใๆค่จผใ็งป่กใฎไฝๆใใใผใธใงใณใฟใฐไปใใฎใคใกใผใธใฎๅ
ฌ้ใๆ็คบ็ใช SemVer ๅคใไฝฟ็จใใๅใตใผใในใพใใฏ Web ใขใใชใฑใผใทใงใณใฎใชใชใผในใงใใ
็งใใกใฎใใฃใณใใซใใใฉใญใผใใใใจใๅฟใใชใใงใใ ใใ YouTube ็ฐกๅใชๆไฝใใ้ซๅบฆใชๆฉ่ฝใพใงใใใผใซใไฝฟ็จใใใใใฎ่ฉณ็ดฐใชใใฅใผใใชใขใซใๅฎ็จ็ใชใใขใณในใใฌใผใทใงใณใใใณใใๅ็
งใใฆใใ ใใใ