ASP.NET MVC項目中EntityFramework"代碼優先方法"的使用步驟

来源:https://www.cnblogs.com/dxzforever/archive/2019/12/11/12021539.html

EF提供了三種方式來實現項目,分別是: (1)代碼優先方法: (2)模型優先方法: (3)資料庫優先方法: 本篇主要記錄在Vs2010環境下使用代碼優先的方式實現資料庫和後端代碼數據交互,語言為C#,資料庫為sqlserver 2008。 1.在sqlserver中創建資料庫 "StudentDB" ...


EF提供了三種方式來實現項目,分別是:

(1)代碼優先方法:

(2)模型優先方法:

(3)資料庫優先方法:

本篇主要記錄在Vs2010環境下使用代碼優先的方式實現資料庫和後端代碼數據交互,語言為C#,資料庫為sqlserver 2008。

1.在sqlserver中創建資料庫 "StudentDB",註意只需要創建庫名即可,不用建表;

2.打開VS2010,工具->連接到資料庫,選擇伺服器名、驗證方式等,獲取連接字元串,註意連接字元串的name屬性,需要在後邊做對應。如下:

3.使用Nuget或者引用dll,安裝EntityFramework。

4.在mvc項目的model文件夾中創建簡單的.NET類,併在該model下引用:using System.ComponentModel.DataAnnotations命名空間,為主鍵標[Key].  

 

 

5.在根目錄下新建Data Aceess Layer文件夾,新建類StudenDAL,該類名務必與web.config中連接字元串name=“StudentDAL”一致,在該數據處理類中添加引用using System.Data.Entity,並繼承DbContext類:

   在StudentDAL類中重寫OnModelCreating()方法代碼,並引用model類using WebApplicaion.Models,然後添加public DbSet<Student> Students{set;get;}{},代碼如下:

 

6.在獲取數據類或者controller中引用該數據處理類 using WebApplication1.DataAccessLayer ; 然後編寫獲取數據方法:

 

7.在controller中使用該方法獲取數據,並將數據返回至view上:

 


您的分享是我們最大的動力!

更多相關文章
  • 不少剛學習.net core朋友對中間件的概念一直分不清楚,到底StartUp下的Configure方法是在做什麼? public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelop ...
  • 獲取足球的3D坐標後,在每一個坐標位置創建一個ModelVisual3D元素,既能實現炫酷的3D界面。同樣根據這些點也能獲取到足球的每一個面。 ...
  • netcoer 創建騰訊雲私有鏡像 發佈到docker 實戰 ...
  • 如何運用DDD 領域服務 [toc] 概述 本文將介紹領域驅動設計(DDD)戰術模式中另一個非常重要的概念 領域服務。在前面兩篇博文中,我們已經學習到了什麼是值對象和實體,並且能夠比較清晰的定位它們自身的行為。但是在某些時候,你會發現某一些業務行為好像不容易落到單個實體或者值對象身上,並且會為放置這 ...
  • https://maplemei.gitee.io/xm-select/#/basic/create layer ui ...
  • .net 平臺中,配置文件有web.config和app.config兩種,前者是web站點的配置文件,後面是WinForm應用的配置文件,基本庫對這兩種配置文件的讀取提供很好支持。 但對文件本身的修改支持的不是太好,最近這段時間準備做.net應用的自動發佈工具,在版本發佈時,需要進行配置文件的自動 ...
  • 原文:https://blogs.msdn.microsoft.com/mazhou/2017/11/21/c-7-series-part-6-read-only-structs/ 背景 在.NET世界中,有兩種基本類型:引用類型和值類型。簡單地說,引用類型是可以繼承/擴展的類,當傳遞引用類型對象時 ...
  • 場景 效果 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建一個Form,設置窗體的背景顏色為黑色,然後再拖拽一個LIstBox用來存取要滾動的內容,再拖拽一個Time ...
一周排行
  • C#實現(Delegate)的委托就不多說了,直接上代碼,看代碼中的註釋: namespace Delegate { delegate void DGSayiHi(string name);//聲明委托 delegate void DGDo(string name); class Program { ...
  • C#實現的從小到大的冒泡排序: public void BubbleSort(int[] array) { int length = array.Length; for (int i = 0; i < length - 1; i++) { for (int j = length - 1; j > i ...
  • string aa = DateTime.Now.ToShortDateString();//"2019/9/23" string bb = DateTime.Now.ToShortTimeString();//"上午 10:21" string ff = DateTime.Now.ToLongDa ...
  • 1. 什麼是,以及怎麼用畫中畫 Windows 10 Creators Update以後UWP提供了一個新的視圖模式CompactOverlay,中文翻譯成 緊湊的覆蓋層 ?反正大部分時間我們都會稱它為 畫中畫模式 。 上圖中右上角即為進入畫中畫模式的微軟“電影和電視”應用。 可以調用 "Appli ...
  • C#實現的對兩個Table進行Merge,兩表必須存在至少一個公共欄位作為連接項,否則連接就失去了意義。如下是對兩個table進行Merge的詳細代碼: private void button1_Click(object sender, EventArgs e)//Button點擊觸發事件 { #r ...
  • 在很多時候,我們做一些非常規化的界面的時候,往往需要創建一些用戶控制項,在其中繪製好一些基礎的界面塊,作為後續重覆使用的一個單元,用戶控制項同時也可以封裝處理一些簡單的邏輯。在開發Winform各種類型項目,我都時不時需要定製一些特殊的用戶控制項,以方便在界面模塊中反覆使用。我們一般是在自定義的用戶控制項里... ...
  • 第一部分:面向對象 封裝 繼承(里氏轉換) 多態第二部分:值類型、引用類型、字元串操作第三部分:集合文件操作第四部分:正則表達式第五部分:XML操作第六部分:委托、事件第七部分:反射。 //存儲著我們當前正在運行的進程//Process[] pro = Process.GetProcesses(); ...
  • 程式處理存放圖片的幾種方式 我的理解有4個: 1:放在項目本身得文件夾中,直接部署到伺服器上 2:存放在磁碟中,然後資料庫中存放路徑,讀取得時候傳路徑。這個適合小項目 3:將圖片轉換成二進位文件,但是不建議這樣做,因為會給資料庫造成壓力。 4:存放在雲存儲器上,也是在資料庫上存地址,不過是雲地址,使 ...
  • 什麼是AutoMapper?AutoMapper是一個簡單的小型庫,用於解決一個看似複雜的問題 - 擺脫將一個對象映射到另一個對象的代碼。這種類型的代碼是相當沉悶和無聊的寫,所以為什麼不發明一個工具來為我們做? 我們來看看在.netcore3.1中怎樣使用AutoMapper9.0。 Profile ...
  • Teigha中實體旋轉 代碼: using (var trans = database.TransactionManager.StartTransaction()) { Entity ent = trans.GetObject(entityId, OpenMode.ForWrite) asEntit ...
x