網站首頁 編程語言 正文
1.簡介
Entity Framework Core可通過數據庫提供給應用程序的插件訪問許多不同的數據庫。我們可以通過使用Entity Framework Core構建執行基本數據訪問的ASP.NET Core MVC應用程序,對現有數據庫進行反向工程以便創建Entity Framework模型。
2.創建數據庫
我們可以通過Visual Studio創建一個數據庫再進行演示,步驟如下:
●打開Visual Studio開發工具
●“工具”>“連接到數據庫”
●選擇“Microsoft SQL Server”(因為我本機是用MSS),然后單擊“確定”
●輸入“(localdb)\mssqllocaldb”或者“.”作為服務器名稱
●選擇或輸入“master”作為數據庫名稱,然后單擊“確定”
●master數據庫現在顯示在“服務器資源管理器”的“數據連接”中
●右鍵單擊“服務器資源管理器”中的數據庫,然后選擇“新建查詢”
●將下列腳本復制到查詢編輯器中:
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執行T-SQL查詢
創建數據庫成功。
3.對模型實施反向工程
3.1反向工程
什么是反向工程?反向工程開始時會讀取鏈接數據庫的架構,它將讀取有關表、列、約束和索引的信息。接下來,它使用的架構信息創建EF Core模型。使用表來創建實體類型;使用列來創建屬性;外鍵用于創建關系。最后,從你的應用程序中搭建實體類型的類Fluent API和數據批注和重新創建相同的模型。
3.2基于現有數據庫創建EF模型
當我們在PowerShell運行以下命令從現有數據庫創建模型時候,會提示如下錯誤:
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
關于程序包管理器不支持PowerShell 2.0版本問題,解決方法如下:
●打開https://www.microsoft.com/zh-CN/download/details.aspx?id=40855鏈接地址
●選擇Windows6.1-KB2819745-x64-MultiPkg.msu安裝升級版本
現在我們再在PowerShell運行以下命令看看:
從現有數據庫創建EF模型成功。
4.創建控制器和視圖
從現有數據庫創建EF模型之后,我們可以通過創建控制器和視圖增刪改數據??梢酝ㄟ^以下步驟創建控制器跟視圖:
●在“解決方案資源管理器”中,右鍵單擊“控制器”文件夾,然后選擇“添加”>“控制器”
●選擇“視圖使用 Entity Framework的MVC控制器”,然后單擊“添加”
●將“模型類”設置為“Blog”,將“數據上下文類”設置為“BloggingContext”單擊“添加”
原文鏈接:https://www.cnblogs.com/wzk153/p/11380930.html
相關推薦
- 2022-11-10 Android實現傳感器功能_Android
- 2022-11-11 利用Python程序讀取Excel創建折線圖_python
- 2022-11-16 kali添加開機自啟的方法_相關技巧
- 2022-09-21 Android開發兩個activity之間傳值示例詳解_Android
- 2022-06-02 C語言的模板與泛型編程你了解嗎_C 語言
- 2024-03-21 Nacos簡介
- 2022-08-16 C++深入了解模板的使用_C 語言
- 2022-10-23 C#中使用Microsoft?Unity記錄日志_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支