EF CodeFirst 建立資料庫

2022-03-13 11:42:40 字數 2472 閱讀 4602

codefirst 用中文說是**優先,此技術可以讓我們先寫**,然後由entity framework根據我們的**建立資料庫

接下來用學生這個例子來演示,有學生表,課程表,和成績表三張表

首先是model層

學生表

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

/**/

using system.componentmodel.dataannotations;//

驗證namespace

codefirstdemo.models

[required]

[stringlength(

50)]

public

string name }}

課程表

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

/**/

using system.componentmodel.dataannotations;//

驗證namespace

codefirstdemo.models

[required]

[stringlength(

50)]

public

string name }}

成績表

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

/**/

using system.componentmodel.dataannotations;//

驗證namespace

codefirstdemo.models

public student student

public course course }}

[key]表示在資料庫中該字段為主鍵,[required]表示不為空,[stringlength]也就是長度了

這一步完成之後,我們要建立乙個studentinfoentities的類,這個類要繼承自dbcontext,而dbcontext類在system.data.entity命名空間下,需引用entityframework.dll類庫,

studentinfoentities類

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

/**/

using

system.data.entity;

namespace

codefirstdemo.models

public dbsetscores

public dbsetstudents }}

接著,我們在web.config裡配置一下資料庫的連線字串

<

connectionstrings

>

<

add

name

="studentinfoentities"

connectionstring

="data source=.\sqlexpress; user=test;password=test;initial catalog=studentinfo;integrated security=true"

providername

="system.data.sqlclient"

/>

connectionstrings

>

最後,新建乙個homecontroller

using

system;

using

system.collections.generic;

using

system.linq;

using

system.web;

using

system.web.mvc;

/**/

using

codefirstdemo.models;

namespace

codefirstdemo.controllers}}

點選除錯,觸發一下,檢視資料庫

同時,您會發現,在score表中,自動產生外來鍵關係

EF Code First 控制資料庫建立

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

使用EF CodeFirst 建立資料庫

在vs2015新增新建項時,選擇資料 ado.net 實體資料模型,有一下選項 來自資料庫的ef設計器,這個就是我們最常用的entityframework設計模型了,選擇它,然後根據設計好的資料庫,就會生成乙個edmx檔案,和乙個資料庫上下文,然後我們就可以不用寫sql也可以愉快的訪問資料啦,但是這...

EF Code First學習筆記 資料庫建立

預設情況下,資料庫是建立在localhost sqlexpress伺服器上,並且預設的資料庫名為命名空間 context類名,例如我們前面的breakaway.breakawaycontext。有幾種方法可以改變這種預設約定。在配置檔案中新加乙個連線字串 connectionstrings add ...