EF CodeFirst資料註解特性詳解

2022-06-27 16:24:11 字數 1348 閱讀 5051

資料註解特性是.net特性,可以在ef或者ef core中,應用於實體類上或者屬性上,以重寫預設的約定規則。

在ef 6和ef core中,資料註解特性包含在system.componentmodel.dataannotations命名空間和system.componentmodel.dataannotations.schema命名空間下。

這些特性不僅僅適用於ef,同樣適用於asp.net mvc以及資料控制項。

system.componentmodel.dataannotations.schema attributes

[table(string name,[schema = string])]

name 想要定義的表名稱

schema 可選引數,資料庫的模式名稱

name 列名

order 可選引數,列的順序,從0開始,注意必須為每個屬性都設定(不可重複)才能生效、

typename 可選引數,列的資料型別

[foreignkey(string name)]設定外來鍵3種方式

[index(string name)] 為列建立索引

isclustered用來建立聚合索引, isunique用來建立唯一索引。

[inverseproperty(string name)]有多個對應關係時,指定關係

[key]  設為主鍵(ef core中不能使用)

[required]  設定列不為空

[maxlength(int)]  設定最大長度,只能用在string型別和byte陣列型別

EF CodeFirst 建立資料庫

codefirst 用中文說是 優先,此技術可以讓我們先寫 然後由entity framework根據我們的 建立資料庫 接下來用學生這個例子來演示,有學生表,課程表,和成績表三張表 首先是model層 學生表using system using system.collections.generic...

EF Code First 控制資料庫建立

有三個方法可以控制資料庫初始化時的行為。1 createdatabaseifnotexists createdatabaseifnotexists方法會在沒有資料庫時建立乙個,這是預設行為。database.setinitializer new createdatabaseifnotexists u...

EF CodeFirst 實體生產資料庫

參考以下資料 一 ef code first資料遷移學習筆記 二 ef應用一 code first模式 三 ef codefirst下,當實體結構發生修改怎麼更新資料庫結構 注 具體資訊根據實際情況來進行填寫 在執行完命令之後就會發現自己的專案檔案裡面多了乙個migrations檔案,下一步我們需要...