日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ef mysql db first_Net Core使用EF之DB First

發(fā)布時間:2025/3/11 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ef mysql db first_Net Core使用EF之DB First 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.新建一個.net core的MVC項目

新建好項目后,不能像以前一樣直接在新建項中添加ef了,需要用命令在添加ef的依賴

二.使用Nuget添加EF的依賴

輸入命令:? Install-Package Microsoft.EntityFrameworkCore.SqlServer

安裝成功后就可以在依賴項中看到

注意執(zhí)行命令的項目你可能需要選擇一下

三.如果是使用db first,需要根據(jù)數(shù)據(jù)庫生成model,就還需要使用命令添加兩個依賴

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

安裝成功后就可以在依賴項中看到

四.相關(guān)依賴添加成功后,就可以更具一個命令就可以從數(shù)據(jù)庫生成model了

命令:? ? Scaffold-DbContext "Server=.;Database=Food;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

-OutputDir Models的意思是把生成的實體和上下文都輸出到Models這個文件夾如果不需要這樣直接輸出到當(dāng)前類庫中不接即可

注意:有可能執(zhí)行這個命令會報錯:

1:執(zhí)行這一步的時候出現(xiàn)了點問題 ,因為系統(tǒng)是win7,powershell版本太低了,不支持這個命令,需要安裝

3.0以上的powershell版本才行

2:?Could not load assembly 'DAL'. Ensure it is referenced by the startup project 'xxxx'.

是因為主項目沒有添加到這個DAL層的引用,添加了就行了,所以估計執(zhí)行這個命令會使用到啟動項目的一些東西

3:Your startup project 'xxxxx' doesn't reference Microsoft.EntityFrameworkCore.Design.This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

他是說你啟動項目沒有這個依賴,在啟動項目里邊執(zhí)行一下這個兩個命令就好了

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

好像執(zhí)行執(zhí)行那個.Tools也可以,我就奇怪了nuget執(zhí)行的明明不是啟動項目為什么啟動項目中還要添加這個依賴呢,

只在啟動項目添加這個依賴行不行呢

如果model已經(jīng)生成過了,想全部覆蓋的話,可以在后面加一個-force命令:

Scaffold-DbContext "Server=.;Database=Food;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -force

更新某個表:后面加-tables 表名

Scaffold-DbContext "Server=.;Database=Food;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models?-tables Article

但是更新某個表有坑啊,如果覆蓋了,那個表不會生成導(dǎo)航屬性,而且那個山下文對象也只有那個表的內(nèi)容了....暫時沒有找到更好的辦法...

單獨更新拷貝過來,或者全部更新,或者直接寫手吧,比如添加了一個字段什么的

添加成功后在models可以看到, 生成了上下文對象與和表對應(yīng)的model

官方文檔

然后就可以開始使用EF了public?IActionResult?Index()

{

FoodContext?fc?=?new?FoodContext();

List?ptlist?=?fc.ProType.ToList();

ViewBag.ptlist?=?ptlist;

return?View();

}

五.使用依賴注入來裝載EF的上下文對象

.net core中用了不少的依賴注入,官方文檔中也推薦使用

1:刪除方法protected?override?void?OnConfiguring(DbContextOptionsBuilder?optionsBuilder)

{

//#warning?To?protect?potentially?sensitive?information?in?your?connection?string,?you?should?move?it?out?of?source?code.?See?http://go.microsoft.com/fwlink/?LinkId=723263?for?guidance?on?storing?connection?strings.

optionsBuilder.UseSqlServer(@"Server=.;Database=Food;Trusted_Connection=True;");

}

2:添加方法public?FoodContext(DbContextOptions?options)

:?base(options)

{

}

添加的是一個構(gòu)造函數(shù)用于構(gòu)造函數(shù)注入(這個方法在新版的時候會自動加入)

3:在startup.cs的ConfigureServices方法中添加依賴注入public?void?ConfigureServices(IServiceCollection?services)

{

//?Add?framework?services.

services.AddMvc();

services.AddDbContext(option?=>?{

option.UseSqlServer("Data?Source?=.;?Initial?Catalog?=?EFCore_dbfirst;?User?ID?=?sa;?Password?=?sa.123");

});

}

注:usersqlserver是一個擴展方法,需要添加ef core的引用using Microsoft.EntityFrameworkCore;

連接字符串寫入配置文件

4:使用的時候就不能直接去實例化了否則會報錯找不到上下文對象

應(yīng)該使用注入的方式去獲取ef對象,例如構(gòu)造函數(shù)注入private?CNBlog_ServerContext?ef;

public?ArticleDAL(CNBlog_ServerContext?context)?//通過依賴注入得到實例

{

ef?=?context;

}

微軟官方文檔:

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

歡迎加群討論技術(shù),群號:677373950

總結(jié)

以上是生活随笔為你收集整理的ef mysql db first_Net Core使用EF之DB First的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.97av| 中国美女黄色一级片 | 久久天天东北熟女毛茸茸 | 国产成人精品片 | 高h喷水荡肉少妇爽多p视频 | 自拍视频在线播放 | 精品人妻无码一区 | 国产女同91疯狂高潮互磨 | 人妻偷人精品一区二区三区 | 天堂网一区 | 九九热在线观看视频 | 草色噜噜噜av在线观看香蕉 | 亚洲啪啪网址 | 91噜噜噜| 亚洲天堂视频在线 | av一区二区在线播放 | 99精品国产一区二区 | 精品人妻一区二区三区浪潮在线 | 黄频网站在线观看 | 深爱婷婷网 | 超碰在线超碰 | 国内精品久久99人妻无码 | 韩国午夜影院 | 天天夜夜人人 | 又黄又爽的视频在线观看 | 日韩精品一区二区亚洲av观看 | 亚洲天堂日韩在线 | 青青青青青操 | 青青伊人影院 | 国产精品亚洲视频 | 久久丁香网 | 极品色av | 久久春色 | 日韩精品一区二区视频 | 国产欧美一区二区三区免费看 | 国产精品视频久久久久久 | 男女啪啪av| 国产精品一区二区三区免费在线观看 | 狠狠草视频 | 久久亚洲私人国产精品va | 182午夜视频| 亚洲五月六月 | 法国性xxxx精品hd | 午夜影院在线观看免费 | 爱豆国产剧免费观看大全剧集 | 国产天堂av | 在线观看911视频 | 狠狠干伊人 | 精品一区二三区 | 精品成人久久久 | 全部孕妇毛片丰满孕妇孕交 | 在线免费三级 | 波多野结衣视频免费看 | 熟女人妻一区二区三区免费看 | 性高潮久久久久久 | 午夜精品久久久久久久99热黄桃 | 一区二区国产精品视频 | 国产三级做爰高清在线 | 日本免费网 | 综合色在线视频 | 一级毛片儿 | 国产福利一区二区三区在线观看 | 一级特黄aaaaaa大片 | 好吊妞在线观看 | 91社区视频| 村上里沙番号 | 国产在线观看免费网站 | 人物动物互动39集免费观看 | 狠狠爱综合 | 国产激情网站 | 外国av网站| 99久久综合国产精品二区 | 久久成人福利 | 午夜精品视频在线 | 女人性做爰69片免费看 | 久久久久久五月天 | 欧美xxxxx精品 | 99久久综合网 | 午夜国产福利在线 | 7777久久亚洲中文字幕 | 欧美在线播放一区 | 在线日韩中文字幕 | 六月婷婷综合 | 日本视频中文字幕 | 男人和女人日b视频 | 狠狠人妻久久久久久综合 | 91精品久久人妻一区二区夜夜夜 | 国产亚洲91| 污网在线观看 | 久久高清 | 日韩性生交大片免费看 | 精品+无码+在线观看 | 91久久精品www人人做人人爽 | 中文字幕第三页 | www黄色在线观看 | 中文日韩在线 | 一区二区av电影 | 欧美裸体xxx | 黑人巨大精品欧美一区二区免费 |