使用EF CodeFirst 建立資料庫

2022-02-26 08:52:51 字數 1385 閱讀 5900

在vs2015新增新建項時,選擇資料->ado.net 實體資料模型,有一下選項

來自資料庫的ef設計器,這個就是我們最常用的entityframework設計模型了,選擇它,然後根據設計好的資料庫,就會生成乙個edmx檔案,和乙個資料庫上下文,然後我們就可以不用寫sql也可以愉快的訪問資料啦,但是這種方式對於經常變動的資料庫結構,更新起來經常會有一些bug,原資料庫刪除的字段和結構,在edmx中更新模型是需要手動刪除的

codefitst的出現給.net開發提供了一種新的方式,這種以**優先的資料庫模型更能適應需求的變更和產品迭代開發,接下來就以乙個簡單的例項來看一下怎麼使用它吧

1.在自己的解決方案下新增乙個類庫專案domain,然後新增乙個實體

public

class

user

public

int username

public

string password

}

2.新增資料庫上下文

public

class

dbcontext:dbcontext

public dbsetusers

}

3.配置資料庫連線字串

一般情況下兩個都寫一下吧

4.通常這個時候只需要執行你的程式,系統就會自動建立資料庫了,還有一種方法就是使用migration建立你的資料庫

開啟程式包管理控制台,注意預設專案是domain

pm> enable-migrations

你會發現domain下多了乙個migrations資料夾,並且有乙個名稱為configuration的類(用於更新)

開啟程式包管理控制台

pm> add-migration init

這個時候,它會根據dbcontext上下文下的模型來和以往的版本比較,並且生成更新檔案,此時沒有以往版本,所以更新內容如下

namespace

domain.migrations

) .primarykey(t =>t.id);

}public

override

void

down()}}

up用於更新,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...