ASP.NET Core 3.0 如何使用Database First - ikevin 筆記本

文章推薦指數: 80 %
投票人數:10人

ASP.NET Core 3.0 如何使用Database First ; Step 1. 先建立資料庫,這是參考文章提供的 ; Step 2. 從NuGet 安裝必要套件. Microsoft.EntityFrameworkCore ... 跳至主要內容 我的還是比較習慣先開好資料庫,再使用DatabaseFirst進行開發,但是目前ASP.NETCore3.0並沒有類似MVC5的EntityFrameworkReversePOCOGenerator的工具,而是要使用PowerShell的指令來產生Models,可以參考 可以參考:https://docs.microsoft.com/zh-tw/ef/core/get-started/aspnetcore/existing-db Step1.先建立資料庫,這是參考文章提供的 CREATEDATABASE[Blogging]; GO USE[Blogging]; GO CREATETABLE[Blog]( [BlogId]intNOTNULLIDENTITY, [Url]nvarchar(max)NOTNULL, CONSTRAINT[PK_Blog]PRIMARYKEY([BlogId]) ); GO CREATETABLE[Post]( [PostId]intNOTNULLIDENTITY, [BlogId]intNOTNULL, [Content]nvarchar(max), [Title]nvarchar(max), CONSTRAINT[PK_Post]PRIMARYKEY([PostId]), CONSTRAINT[FK_Post_Blog_BlogId]FOREIGNKEY([BlogId])REFERENCES[Blog]([BlogId])ONDELETECASCADE ); GO INSERTINTO[Blog](Url)VALUES ('http://blogs.msdn.com/dotnet'), ('http://blogs.msdn.com/webdev'), ('http://blogs.msdn.com/visualstudio') GO Step2.從NuGet安裝必要套件Microsoft.EntityFrameworkCore3.0.0-preview7.19362.6Microsoft.EntityFrameworkCore.SqlServer3.0.0-preview7.19362.6Microsoft.EntityFrameworkCore.SqlServer.Design2.0.0-preview1-finalMicrosoft.EntityFrameworkCore.Tools3.0.0-preview7.19362.6 Step3.選擇「工具」→「NuGet套件管理員」→「套件管理員主控台」 //貼上,並執行下面這段Code Scaffold-DbContext-Connection"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"Microsoft.EntityFrameworkCore.SqlServer-OutputDirModels-contextBloggingContext-ProjectFirstWeb 注意:1.「-Connection」可以省略2.「-OutputDirModels」可以修改Model要產生在哪一個資料夾3.「-contextBloggingContext」使用預設,可以省略4.「-ProjectFirstWeb」只有一個專案,可以省略 Scaffold-DbContext"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"Microsoft.EntityFrameworkCore.SqlServer-OutputDirModels Step4.資料庫更新時處置 //若資料庫有更新(全部),則後面可以加上「-Force」 Scaffold-DbContext"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"Microsoft.EntityFrameworkCore.SqlServer-OutputDirModels-Force //只更新某一個資料表,如Blog,可以加上-TablesBlog Scaffold-DbContext"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"Microsoft.EntityFrameworkCore.SqlServer-OutputDirModels-TablesBlog-Force 上述動作只是產生資料庫的Model,我們必須要在Startup.cs設定資料庫連線才可以順利存取資料庫 publicvoidConfigureServices(IServiceCollectionservices) { varconnection=@"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0"; services.AddDbContext(options=>options.UseSqlServer(connection)); } 在Controller的範例程式碼 privatereadonlyBloggingContext_context; publicCompanyController(BloggingContextcontext) { _context=context; } publicIActionResultIndex() { varmodel=_context.Role.Where(x=>x.IsDeleted==false).Select(b=>newRoleVM { Id=b.Id, RoleName=b.RoleName, RoleTitle=b.RoleTitle }).ToList(); returnView(model); } 發佈留言取消回覆發佈留言必須填寫的電子郵件地址不會公開。

必填欄位標示為*留言*顯示名稱* 電子郵件地址* 個人網站網址 Δ 文章導覽 上一篇文章上一篇ASP.NETCore3.0靜態檔案(StaticFiles)下一篇文章下一篇ASP.NETCore3.0登入機制實作(claims-basedauthentication) 搜尋關鍵字: 搜尋 近期文章 更改SQLServer定序 GodaddyIIS10手動安裝SSL憑證備忘 ASP.NETCore3.0新增專案(類別庫.NETStandard2.0) ASP.NETCore3.0登入機制實作(claims-basedauthentication) ASP.NETCore3.0如何使用DatabaseFirst ASP.NETCore3.0靜態檔案(StaticFiles) ASP.NETCore3.0(Preview7)建立Web應用程式 Angular專案升級備忘 如何在ASP.NETMVC加上NLog ASP.NETMVCALERT訊息做法 近期留言「Boky」於〈如何在ASP.NETMVC加上NLog〉發佈留言「Boky」於〈如何在ASP.NETMVC加上NLog〉發佈留言「Loryn」於〈以分層架構來開新的專案〉發佈留言「Bokyg」於〈以分層架構來開新的專案〉發佈留言彙整 2021年11月 2021年5月 2019年8月 2019年1月 2018年8月 2018年7月 2018年6月 網站分類 關於程式(26) 其他操作 登入 訂閱網站內容的資訊提供 訂閱留言的資訊提供 WordPress.org台灣繁體中文



請為這篇文章評分?