翻譯|使用教程|編輯:陳津勇|2019-09-06 10:40:11.220|閱讀 1462 次
概述:本文介紹了如何使用ASP.NET Core 3.0開發(fā)Web應(yīng)用程序,使用Entity Framework Core 3.0命令將其連接到數(shù)據(jù)庫(數(shù)據(jù)庫優(yōu)先),并使用scaffolding執(zhí)行CRUD操作(代碼生成器)。通過系列操作,開發(fā)一個帶有基本操作的庫存管理示例應(yīng)用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Essential Studio for ASP.NET Core是Microsoft的Web框架,它是一個開源、跨平臺、云優(yōu)化的Web框架,運(yùn)行在使用.NET Framework和.NET Core的Windows以及使用.NET Core的其他平臺上。它是一個完整的重寫,它將ASP.NET MVC和Web API整合到一個編程模型中,并刪除與系統(tǒng)相關(guān)的依賴項。這有助于將應(yīng)用程序部署到非Windows服務(wù)器并提高性能。
本文將討論以下內(nèi)容:
先決條件
數(shù)據(jù)庫創(chuàng)建
創(chuàng)建一個ASP.NET核心應(yīng)用程序
安裝必要的NuGet包
將應(yīng)用程序連接到數(shù)據(jù)
Scaffold CRUD操作
運(yùn)行應(yīng)用程序
結(jié)論
注:在此演示應(yīng)用程序中,使用了ASP.NET Core 3.0預(yù)覽8、Entity Framework Core 3.0預(yù)覽8,與Visual Studio 2019v16.3.0預(yù)覽2.0。 |
點(diǎn)擊下載Essential Studio for ASP.NET Core試用版
先決條件
可以使用以下IDE開發(fā).NET Core應(yīng)用程序:
Command Prompt
在這里,使用Visual Studio來構(gòu)建應(yīng)用程序。請確定依據(jù)安裝了以下必要的軟件:
NET Core 3.0預(yù)覽8
創(chuàng)建數(shù)據(jù)庫
讓我們在本地SQL Server上創(chuàng)建一個數(shù)據(jù)庫。希望您的機(jī)器已經(jīng)安裝了SQL Server 2017(也可以使用SQL Server 2008、2012、2016)。
第1步:打開Visual Studio 2019。
步驟2:打開SQL Server對象資源管理器,然后單擊“添加SQL Server”。
△ 添加SQL Server
步驟3:在這里,我們可以選擇從本地計算機(jī)的SQL Server(通過網(wǎng)絡(luò)連接)和Azure SQL數(shù)據(jù)庫中進(jìn)行選擇。本文選擇了本地SQL Server實例。在提供了SQL Server詳細(xì)信息后,單擊“連接”,SQL Server將在資源管理器中列出。
△ 建立與數(shù)據(jù)庫服務(wù)器的連接
△ 解決方案資源管理器中列出的SQL
步驟4:右鍵單擊數(shù)據(jù)庫節(jié)點(diǎn)并創(chuàng)建一個新數(shù)據(jù)庫(Inventory)。
第5步:現(xiàn)在有了數(shù)據(jù)庫,單擊數(shù)據(jù)庫并選擇New Query。
步驟6:對于此應(yīng)用程序,將創(chuàng)建一個名為Products的表,其中包含基本屬性。可將以下SQL查詢粘貼到“查詢”窗口以創(chuàng)建Products表。
Create Table Products(ProductId BigInt Identity(1,1) Primary Key,Name Varchar(100) Not Null,Category Varchar(100),Color Varchar(20),UnitPrice Decimal Not Null,AvailableQuantity BigInt Not Null,CratedDate DateTime Default(GetDate()) Not null)
步驟7:單擊“運(yùn)行”圖標(biāo)以創(chuàng)建表。現(xiàn)在有了應(yīng)用程序所需的表。
創(chuàng)建一個ASP.NET核心應(yīng)用程序
請按照以下步驟創(chuàng)建ASP.NET Core應(yīng)用程序。
步驟1:在Visual Studio 2019中,單擊文件->新建->項目。
第2步:選擇“創(chuàng)建新項目”選項。
步驟3:選擇ASP.NET Core Web Application模板。
步驟4:輸入項目名稱,然后單擊“創(chuàng)建”。
步驟5:選擇.NET Core和ASP.NET Core 3.0,然后選擇Web應(yīng)用程序(模型-視圖-控制器)模板。
取消選中Advanced選項下的HTTPS配置(在開發(fā)環(huán)境中,不需要SSL)。
點(diǎn)擊創(chuàng)建。然后將使用此項目結(jié)構(gòu)創(chuàng)建示例ASP.NET Core應(yīng)用程序。
安裝NuGet包
應(yīng)該添加以下NuGet包來使用SQL Server數(shù)據(jù)庫和腳手架。在包管理器控制臺運(yùn)行以下命令:
安裝包Microsoft.VisualStudio.Web.CodeGeneration.Design-Version 3.0.0-preview8-19413-06。此包有助于生成控制器和視圖。
安裝包Microsoft.EntityFrameworkCore.Tools -Version 3.0.0-preview8.19405.11。此包有助于從數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫上下文和模型類。
安裝包Microsoft.EntityFrameworkCore.SqlServer -Version 3.0.0-preview8.19405.11。數(shù)據(jù)庫提供程序允許Entity Framework Core與SQL Server一起使用。
Scaffolding
SP.NET Core有一個名為scaffolding的功能,它使用T4模板生成常用功能代碼,以幫助開發(fā)人員編寫重復(fù)代碼。我們使用scaffolding執(zhí)行以下操作:
生成實體POCO類和數(shù)據(jù)庫的上下文類。
使用包含控制器和視圖的Entity Framework Core為數(shù)據(jù)庫模型的創(chuàng)建、讀取、更新和刪除(CRUD)操作生成代碼。
連接應(yīng)用程序和數(shù)據(jù)庫
在程序包管理器控制臺中運(yùn)行以下scaffold命令以對數(shù)據(jù)庫進(jìn)行反向工程,以從表中創(chuàng)建數(shù)據(jù)庫上下文和實體POCO類。scaffold命令僅為具有主鍵的表創(chuàng)建POCO類。
Scaffold-DbContext“Server = ABCSERVER; Database = Inventory; Integrated Security = True”Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models |
連接-設(shè)置數(shù)據(jù)庫的連接字符串。
Provider-設(shè)置用于連接數(shù)據(jù)庫的提供程序。
OutputDir-設(shè)置要生成POCO類的目錄。
在我們的示例中,將創(chuàng)建Products類和Inventory上下文類。
打開Inventory Context類文件。您將在OnConfiguring方法中看到數(shù)據(jù)庫憑據(jù)是硬編碼的。
考慮到安全問題,在C#類中使用SQL Server憑據(jù)并不是一種好習(xí)慣。因此,從上下文文件中刪除此OnConfiguring方法。
并將連接字符串移動到appsettings.json文件。
然后我們可以在應(yīng)用程序啟動期間注冊數(shù)據(jù)庫上下文服務(wù)(InventotyContext)。在以下代碼中,從appsettings文件中讀取連接字符串并將其傳遞給上下文服務(wù)。
然后通過依賴注入向所述控制器注入所需的控制器。
執(zhí)行CRUD操作
現(xiàn)在我們設(shè)置數(shù)據(jù)庫并將其配置為與Entity Framework Core一起使用。我們將看到如何執(zhí)行CRUD操作。
右鍵單擊控制器文件夾,選擇“添加新項”,然后選擇“ 控制器”。然后將顯示此對話框。
使用Entity Framework選項選擇帶視圖的MVC Controller,然后單擊Add。
我們需要選擇之前創(chuàng)建的數(shù)據(jù)庫模型類和數(shù)據(jù)上下文類,然后單擊“添加”。
就是這樣就完成了。scaffolding引擎使用T4模板為各自的文件夾中的控制器操作和視圖生成代碼。這是代碼的基本版本,我們可以根據(jù)需要修改它。
請找到創(chuàng)建的文件:
現(xiàn)在我們在Products表上有完整功能的CRUD操作。
然后,更改默認(rèn)應(yīng)用程序路由以加載Products Controller而不是home控制器。打開Startup.cs文件,在Configure方法下,將默認(rèn)控制器更改為Products。
在scaffolding引擎的幫助下,開發(fā)人員無需為每個數(shù)據(jù)庫模型編寫CRUD操作。
運(yùn)行應(yīng)用程序
單擊“運(yùn)行”以查看應(yīng)用程序。將打開一個新的瀏覽器選項卡,我們將能夠看到產(chǎn)品列表頁面。由于庫存中沒有產(chǎn)品,因此它是空的。
單擊“新建”以將新產(chǎn)品添加到清單中。
輸入詳細(xì)信息后,單擊“創(chuàng)建”。現(xiàn)在我們應(yīng)該在列表頁面中看到新創(chuàng)建的產(chǎn)品,如下面的屏幕截圖所示。已經(jīng)添加了三個產(chǎn)品。
單擊詳細(xì)信息以查看產(chǎn)品詳細(xì)信息。
單擊編輯以更新產(chǎn)品詳細(xì)信息。
單擊“刪除”以刪除產(chǎn)品。在從數(shù)據(jù)庫中刪除之前,將要求確認(rèn)。
無需編寫任何代碼,我們就可以在scaffolding引擎的幫助下創(chuàng)建一個具有基本CRUD操作的應(yīng)用程序。
點(diǎn)擊查看示例應(yīng)用程序。提取應(yīng)用程序,更改appsettings.json文件中指向SQL Server的連接字符串,然后運(yùn)行該應(yīng)用程序。
結(jié)論
在本文中,我們學(xué)習(xí)了如何創(chuàng)建ASP.NET Core應(yīng)用程序并將其連接到數(shù)據(jù)庫,以使用Entity Framework Core 3.0和代碼生成工具執(zhí)行基本的CRUD操作。
Essential Studio for ASP.NET Core控件庫是構(gòu)建應(yīng)用程序所需的惟一套件,因為它在一個包中包含超過65個高性能、輕量級、模塊化和響應(yīng)性強(qiáng)的UI控件。歡迎下載試用版體驗哦~
想要獲得Essential Studio for ASP.NET Core更多資源的伙伴,請點(diǎn)這里。
想要獲取Essential Studio for ASP.NET Core正版授權(quán)的伙伴,
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: