比如, 現在我們需要兩張表, "學生表" 和 "班級表" , 一對多關係, 怎麼用codefirst的方式建立資料庫資料表
1.建立兩個實體類
public2.建立和資料庫互動的ef上下文類, 繼承自dbcontextclass
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
}
public3.配置資料庫連線字串, 名稱與 ef上下文操作類 的構造方法中傳入的引數保持一致class
codefirstdbcontext : dbcontext
protected
override
void
onmodelcreating(dbmodelbuilder modelbuilder)
//3.
public dbsetstudentinfo
public dbsetclassinfo
}
"4.執行**, 生成資料庫, 並新增一條資料connstr
" connectionstring="
server=.;uid=sa;pwd=123456;database=codefirstmodel
" providername="
system.data.sqlclient
" />
class5.開啟sqlserver資料庫,檢視結果program
}
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 正在為...