資料註解特性是.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檔案,下一步我們需要...