在vs2015新增新建項時,選擇資料->ado.net 實體資料模型,有一下選項
來自資料庫的ef設計器,這個就是我們最常用的entityframework設計模型了,選擇它,然後根據設計好的資料庫,就會生成乙個edmx檔案,和乙個資料庫上下文,然後我們就可以不用寫sql也可以愉快的訪問資料啦,但是這種方式對於經常變動的資料庫結構,更新起來經常會有一些bug,原資料庫刪除的字段和結構,在edmx中更新模型是需要手動刪除的
codefitst的出現給.net開發提供了一種新的方式,這種以**優先的資料庫模型更能適應需求的變更和產品迭代開發,接下來就以乙個簡單的例項來看一下怎麼使用它吧
1.在自己的解決方案下新增乙個類庫專案domain,然後新增乙個實體
public2.新增資料庫上下文class
user
public
int username
public
string password
}
public3.配置資料庫連線字串class
dbcontext:dbcontext
public dbsetusers
}
一般情況下兩個都寫一下吧
4.通常這個時候只需要執行你的程式,系統就會自動建立資料庫了,還有一種方法就是使用migration建立你的資料庫
開啟程式包管理控制台,注意預設專案是domain
pm> enable-migrations你會發現domain下多了乙個migrations資料夾,並且有乙個名稱為configuration的類(用於更新)
開啟程式包管理控制台
pm> add-migration init這個時候,它會根據dbcontext上下文下的模型來和以往的版本比較,並且生成更新檔案,此時沒有以往版本,所以更新內容如下
namespaceup用於更新,down用於回退這個很好理解domain.migrations
) .primarykey(t =>t.id);
}public
override
void
down()}}
pm> update-database開啟sql server(如果用的localdb就在localdb中檢視)檢視資料庫
EF CodeFirst 建立資料庫
codefirst 用中文說是 優先,此技術可以讓我們先寫 然後由entity framework根據我們的 建立資料庫 接下來用學生這個例子來演示,有學生表,課程表,和成績表三張表 首先是model層 學生表using system using system.collections.generic...
使用EF CodeFirst連線MySql資料庫
install package mysql.data.entity 我們這裡的版本是6.9.9 此包因為是依賴ef包的,所以安裝此包時會自動安裝ef包。安裝完成後,我們配置webconfig檔案。把原來的entityframework節點換成 把原來的connectionstrings換成我們mys...
EF Code First 控制資料庫建立
有三個方法可以控制資料庫初始化時的行為。1 createdatabaseifnotexists createdatabaseifnotexists方法會在沒有資料庫時建立乙個,這是預設行為。database.setinitializer new createdatabaseifnotexists u...