EF CodeFirst 詳細操作流程

2022-06-13 07:03:08 字數 1437 閱讀 4007

比如, 現在我們需要兩張表, "學生表" 和 "班級表" , 一對多關係, 怎麼用codefirst的方式建立資料庫資料表

1.建立兩個實體類

public

class

studentinfo

[stringlength(

32)] //

varchar 必須指定長度, 否則預設長度為max

[required] //

不允許為空

public

string stuname

public datetime subtime

//codefirst中體現兩張表的關係

//相當於ef模型中的導航屬性

//乙個學生 只能對應 乙個班級

public

virtual classinfo classinfo

}public

class

classinfo

[stringlength(

32)]

[required]

public

string classname

public datetime createtime

//codefirst中體現兩張表的關係

//相當於ef模型中的導航屬性

//乙個班級 可以對應 多個學生

public

virtual icollectionstudentinfo

}

2.建立和資料庫互動的ef上下文類, 繼承自dbcontext

public

class

codefirstdbcontext : dbcontext

protected

override

void

onmodelcreating(dbmodelbuilder modelbuilder)

//3.

public dbsetstudentinfo

public dbsetclassinfo

}

3.配置資料庫連線字串, 名稱與 ef上下文操作類 的構造方法中傳入的引數保持一致

"

connstr

" connectionstring="

server=.;uid=sa;pwd=123456;database=codefirstmodel

" providername="

system.data.sqlclient

" />

4.執行**, 生成資料庫, 並新增一條資料

class

program

}

5.開啟sqlserver資料庫,檢視結果

EF CodeFirst 資料庫的操作

首先需要通過nuget安裝migration 這一步是初始化migration操作。首先開啟程式包控制台,工具 nuget包管理器 程式包管理控制台 開啟後,在控制台輸入下面的命令,這個命令只需要在第一次的時候使用。enable migrations輸入完成後,會在我們的目錄生成乙個名為 migra...

EFCodeFirst級聯刪除

預設情況下codefirst會在外鍵約束中設定 刪除規則 為級聯 不會預設設定 更新規則 為級聯 當僅定義了導航屬性如 public virtual manager manager 而沒有顯示定義外來鍵如 public int managerid codefirst不會設定 刪除規則 為級聯 在顯示...

EF CodeFirst 基礎命令

pm enable migrations 已在專案 easywechat.data 中啟用遷移。若要覆蓋現有遷移配置,請使用 force 引數。pm add migration 位於命令管道位置 1 的 cmdlet add migration 請為以下引數提供值 name 20141021 正在為...