前言:去年剛工作的時候,也是剛剛正式接觸.net,當時了解了EF以及三種開發模式,Database First、Model First 、Code First。公司用的開發模式是Database First,由於公司有一套成熟的框架,我只需要按部就班的開發即可,因此就沒有詳細學習過這些開發模式,總覺得缺點什么。正好這段時間沒有什么任務,並且在博客園瀏覽學習了很多大神的對技術、生活、職業、人生的一些總結,學習很多,這幾天對這三種開發模式有了進一步的理解。我覺得我也該學着給大家分享一些知識了,就先趁熱打鐵,把我對 ModelFirst的實現過程加以總結、分享下來,若有不當之處,還望各路大神多多指教
使用工具: win7操作系統,vs2012, sqlserver2008
開始:
1.新建項目:

2.在新建好的項目中新建ADO.NET實體數據模型,如下圖

點擊新建項后,彈出如下窗口:選中ADO.NET實體數據模型,填好新建項的名稱,

點擊添加后,開始選擇模型內容,我們選擇空模型,點擊完成按鈕

新建完成后,在vs2012頁面上會彈出edmx關系圖,如下

3.新增實體
在edmx關系圖的空白處單擊鼠標右鍵,添加實體

在彈出的窗口中添加實體內容,下圖是創建了一個student實體,主鍵為ID

為實體添加屬性:在student的屬性上右鍵新增標量屬性

在添加屬性后,右鍵選擇屬性,可以在右方的標記處對屬性進行修改

4 與數據庫關聯,生成相關數據表
在空白處單擊右鍵,選擇‘根據模型生成數據庫’,彈出數據庫連接窗口,點擊新建連接

在彈出的窗口點擊更改

選擇Microsoft SQL Server,點擊確定

在彈出的窗口中,填入你的數據庫相關信息

連接成功后,單擊下一步,

在彈出的窗口上點擊完成,成功與sql server關聯

完成上述操作后,Ctrl+Shift+S保存更新全部生成的頁面
執行生成的sql腳本,找到系統生成的sql腳本,右鍵執行,即可在關聯數據庫中創建表

生成的數據表:

5 往數據表中添加數據
在Program類中添加代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ModelFirst
{
class Program
{
static void Main(string[] args)
{
#region 添加數據
//1.聲明上下文
ModelFirstContainer dbContext = new ModelFirstContainer();
//2.對數據庫的操作
student st = new student();//實例化實體
//為實體賦值
st.ID = 1;
st.NAME = "張三";
st.AGE = "18";
//增加實體到上下文
dbContext.studentSet.Attach(st);
dbContext.Entry(st).State = System.Data.EntityState.Added;
//保存
dbContext.SaveChanges();
#endregion
}
}
}
運行程序后,在數據表中成功添加新的數據,如下圖:

下一篇 CodeFirst
