實體框架EF中的CodeFirst學習總結

2021-08-30 10:48:24 字數 1039 閱讀 7236

codefirst:通過寫**的方式建立實體類,並且給實體加上特性標籤,並且標註各個實體間的關係,需要引入兩個核心的dll程式集 entityframework syste.data.entity

如何表現兩個實體間的關係?比如:classinfo和studentinfo是一對多的關係

在classinfo類中新增以下屬性

public virtual icollection studentinfo //此屬性關聯學生表,與學生表是一對多的關係

在studentinfo類中新增以下屬性

public virtual classinfo classinfo //此屬性關聯班級表,與班級表的關

系是多對一

實體類建立好後,,要建立乙個ef的資料操作類,該類必須繼承dbcontext類,新增構造方法,繼承父類的構造方法,並傳入連線字串名字,連線字串要在配置檔案中先新增好,如下:

public class codefirstdbcontext:dbcontext

//將實體類對映成表時呼叫的方法

protected override void onmodelcreating(dbmodelbuilder modelbuilder)

public virtual dbsetclassinfo 

public virtual dbsetstudentinfo

}

資料操作類也構造好了,那麼如何將類中某個屬性標註成對映成表後的主鍵,以及表中字段的型別和長度?如下:

[key]

public int id

[stringlength(32)]//指定欄位的長度

[required]//不允許為空

public string classname

[required]//不允許為空

public datetime subtime

然後在主函式中寫入**

static void main(string args)

**執行完成,表也就對映完成了

EF實體框架之CodeFirst一

上面瞎逼逼半天,實際上今天是想大致演示下code first的用法,做簡單的增刪改查。一 model 首先是建立了乙個控制台應用程式efcodefirstdemo,又建立了乙個存放model的類庫efcodefirstmodels,以及乙個與資料庫有關係的類庫efcodefirstdataacces...

EF實體框架之CodeFirst八

前面七篇基本把code first學習了一下,不過code first中會出現乙個問題,就是資料遷移的問題。一 資料準備 還是在前面的demo上修改,這次使用province和city類。public class province public string provincename public ...

EF框架 實體物件執行緒內唯一

1.執行緒內唯一 在專案中的dal層新增乙個dbcontextfactory類,寫如下 public class dbcontextfactory return db 2.在通用ef操作類呼叫以上 public class basedalwhere t class,new 刪除 public boo...