ASP.NET?Core基于現(xiàn)有數(shù)據(jù)庫創(chuàng)建EF模型
1.簡介
Entity Framework Core可通過數(shù)據(jù)庫提供給應(yīng)用程序的插件訪問許多不同的數(shù)據(jù)庫。我們可以通過使用Entity Framework Core構(gòu)建執(zhí)行基本數(shù)據(jù)訪問的ASP.NET Core MVC應(yīng)用程序,對現(xiàn)有數(shù)據(jù)庫進行反向工程以便創(chuàng)建Entity Framework模型。
2.創(chuàng)建數(shù)據(jù)庫
我們可以通過Visual Studio創(chuàng)建一個數(shù)據(jù)庫再進行演示,步驟如下:
●打開Visual Studio開發(fā)工具
●“工具”>“連接到數(shù)據(jù)庫”
●選擇“Microsoft SQL Server”(因為我本機是用MSS),然后單擊“確定”
●輸入“(localdb)\mssqllocaldb”或者“.”作為服務(wù)器名稱
●選擇或輸入“master”作為數(shù)據(jù)庫名稱,然后單擊“確定”
●master數(shù)據(jù)庫現(xiàn)在顯示在“服務(wù)器資源管理器”的“數(shù)據(jù)連接”中
●右鍵單擊“服務(wù)器資源管理器”中的數(shù)據(jù)庫,然后選擇“新建查詢”
●將下列腳本復制到查詢編輯器中:
CREATE DATABASE [Blogging]; GO USE [Blogging]; GO CREATE TABLE [Blog] ( [BlogId] int NOT NULL IDENTITY, [Url] nvarchar(max) NOT NULL, CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId]) ); GO CREATE TABLE [Post] ( [PostId] int NOT NULL IDENTITY, [BlogId] int NOT NULL, [Content] nvarchar(max), [Title] nvarchar(max), CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]), CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE ); GO INSERT INTO [Blog] (Url) VALUES ('http://blogs.msdn.com/dotnet'), ('http://blogs.msdn.com/webdev'), ('http://blogs.msdn.com/visualstudio') GO
●點擊Execute按鈕或者敲擊Ctrl+Shift+E執(zhí)行T-SQL查詢
創(chuàng)建數(shù)據(jù)庫成功。
3.對模型實施反向工程
3.1反向工程
什么是反向工程?反向工程開始時會讀取鏈接數(shù)據(jù)庫的架構(gòu),它將讀取有關(guān)表、列、約束和索引的信息。接下來,它使用的架構(gòu)信息創(chuàng)建EF Core模型。使用表來創(chuàng)建實體類型;使用列來創(chuàng)建屬性;外鍵用于創(chuàng)建關(guān)系。最后,從你的應(yīng)用程序中搭建實體類型的類Fluent API和數(shù)據(jù)批注和重新創(chuàng)建相同的模型。
3.2基于現(xiàn)有數(shù)據(jù)庫創(chuàng)建EF模型
當我們在PowerShell運行以下命令從現(xiàn)有數(shù)據(jù)庫創(chuàng)建模型時候,會提示如下錯誤:
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
關(guān)于程序包管理器不支持PowerShell 2.0版本問題,解決方法如下:
●打開https://www.microsoft.com/zh-CN/download/details.aspx?id=40855鏈接地址
●選擇Windows6.1-KB2819745-x64-MultiPkg.msu安裝升級版本
現(xiàn)在我們再在PowerShell運行以下命令看看:
從現(xiàn)有數(shù)據(jù)庫創(chuàng)建EF模型成功。
4.創(chuàng)建控制器和視圖
從現(xiàn)有數(shù)據(jù)庫創(chuàng)建EF模型之后,我們可以通過創(chuàng)建控制器和視圖增刪改數(shù)據(jù)??梢酝ㄟ^以下步驟創(chuàng)建控制器跟視圖:
●在“解決方案資源管理器”中,右鍵單擊“控制器”文件夾,然后選擇“添加”>“控制器”
●選擇“視圖使用 Entity Framework的MVC控制器”,然后單擊“添加”
●將“模型類”設(shè)置為“Blog”,將“數(shù)據(jù)上下文類”設(shè)置為“BloggingContext”單擊“添加”
到此這篇關(guān)于ASP.NET Core基于現(xiàn)有數(shù)據(jù)庫創(chuàng)建EF模型的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- ASP.NET?Core使用EF查詢數(shù)據(jù)
- ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫建模
- ASP.NET?Core使用EF創(chuàng)建模型(索引、備用鍵、繼承、支持字段)
- ASP.NET?Core使用EF創(chuàng)建關(guān)系模型
- ASP.NET Core使用EF創(chuàng)建模型(必需和可選屬性、最大長度、并發(fā)標記、陰影屬性)
- ASP.NET?Core使用EF創(chuàng)建模型(包含屬性、排除屬性、主鍵和生成值)
- EF?Core通過顯式編譯提高查詢性能
- ASP.NET Core使用EF保存數(shù)據(jù)、級聯(lián)刪除和事務(wù)使用
相關(guān)文章
ASP.NET中Application和Cache的區(qū)別分析
在asp.net中儲存數(shù)據(jù)的方式有很多,包括application,session,cache, cookie, viewstate。其中application和cache的應(yīng)用范圍,使用方式都比較相似,這里主要對比一下這兩種方式。2010-03-03一次.net?core異步線程設(shè)置超時時間的實戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于.net?core異步線程設(shè)置超時時間的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-02-02c#將Excel數(shù)據(jù)導入到數(shù)據(jù)庫的實現(xiàn)代碼
這篇文章主要介紹了c#將Excel數(shù)據(jù)導入到數(shù)據(jù)庫的實現(xiàn)代碼,有需要的朋友可以參考一下2013-12-12ASP.NET使用HttpWebRequest讀取遠程網(wǎng)頁源代碼
本文分享了一個使用HttpWebRequest讀取遠程網(wǎng)頁的案例,供大家參考學習。2016-03-03form身份驗證通過后,只能用FormsAuthentication.RedirectFromLoginPage
form身份驗證通過后,只能用FormsAuthentication.RedirectFromLoginPage2009-03-03asp.net下經(jīng)典數(shù)據(jù)庫記錄分頁代碼
asp.net下經(jīng)典數(shù)據(jù)庫記錄分頁代碼...2007-04-04