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[key]表示在資料庫中該字段為主鍵,[required]表示不為空,[stringlength]也就是長度了system;
using
system.collections.generic;
using
system.linq;
using
system.web;
/**/
using system.componentmodel.dataannotations;//
驗證namespace
codefirstdemo.models
public student student
public course course }}
這一步完成之後,我們要建立乙個studentinfoentities的類,這個類要繼承自dbcontext,而dbcontext類在system.data.entity命名空間下,需引用entityframework.dll類庫,
studentinfoentities類
using接著,我們在web.config裡配置一下資料庫的連線字串system;
using
system.collections.generic;
using
system.linq;
using
system.web;
/**/
using
system.data.entity;
namespace
codefirstdemo.models
public dbsetscores
public dbsetstudents }}
<最後,新建乙個homecontrollerconnectionstrings
>
<
add
name
="studentinfoentities"
connectionstring
="data source=.\sqlexpress; user=test;password=test;initial catalog=studentinfo;integrated security=true"
providername
="system.data.sqlclient"
/>
connectionstrings
>
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 ...