好吧,我又回來了,其實一直都想寫一篇關於EF core 的文章去記錄自己在開發時候遇到的問題。 EF core 就是字面上的意思咯,EF 就是.Net上用的很多的ORM框架,core呢,就是在.Net core 上使用的EF咯。 為什麼要使用EF框架呢,因為原始的ADO.NET需要編寫大量的數據訪問 ...
好吧,我又回來了,其實一直都想寫一篇關於EF core 的文章去記錄自己在開發時候遇到的問題。
EF core 就是字面上的意思咯,EF 就是.Net上用的很多的ORM框架,core呢,就是在.Net core 上使用的EF咯。
為什麼要使用EF框架呢,因為原始的ADO.NET需要編寫大量的數據訪問代碼,所以使用EF會更方便。但是今天只講Code First,Code First非常好用。但是表都需要自己寫代碼去建立,不能可視化建立,提醒大家還是需要習慣不可視化操作為好。
首先是怎麼使用EF core呢,需要去安裝Nuget包,我使用的是MySQL資料庫,所以安裝的是Pomelo.EntityFrameworkCore.MySql和Pomelo.EntityFrameworkCore.MySql.Design
可以在Nuget 包管理器里搜索安裝,也可以在Nuget包管理控制台里輸入 Install-Package Pomelo.EntityFrameworkCore.MySql 和
Install-Package Pomelo.EntityFrameworkCore.MySql.Design 安裝。
這裡有個大問題就是Pomelo.EntityFrameworkCore.MySql這個包版本不相容的問題,如果你的.Net core版本是2.1,那麼請安裝2.1.0版本,因為2.1.1會報錯。
如果沒有2.1.0版本,那麼久安裝最新的,然後在csproj裡面修改版本就可以了,如圖:
安裝完之後就可以使用了。
還需要配置的就是在Startup類上,配置DbContext,還有連接字元串在AppSetting.json中
ORM,對象關係映射,通俗點講就是將實體的屬性和欄位聯繫起來。
下圖就是一個類,包含了很多屬性。
那麼如何將它們聯繫起來呢。
首先你需要建立一個上下文類,也就是DbContext,別忘了引用Microsoft.EntityFrameworkCore 這個命名空間
這樣就把建立表的代碼寫好了,userID作為主鍵,其他作為屬性,最大長度為32。
當然不要忘了遷移,同樣也需要安裝Microsoft.EntityFrameworkCore.Tools 這個安裝包。
之後就可以在Nuget 包管理控制台執行遷移了。
在Nuget 包管理控制台輸入Enable-Migrations 啟用遷移 然後 Add-Migration name, name是遷移的名字,
然後一個遷移就被添加了,接下來就是執行遷移Update-Migration,這樣你會發現你的資料庫多了一張表
完成上述操作之後就可以對資料庫進行操作了,增刪改查之類滴。可以用linq,也可以用lambda表達式。
總之,傻瓜式的EF Core的使用方法就在這裡咯。其實我是寫給自己看的,怕忘記那個版本問題,哈哈哈。