vs2017調試經過。sql
一、添加須要的provider,有點添加驅動的意思。右擊項目,NUGET數據庫
「瀏覽」,「JetEntityFrameworkProvider」,安裝,如圖編程
完成後配置文件(控制檯爲app.config)中就會有這個驅動:app
最好把項目的生成屬性調成「x86」,vs會警告你這個驅動是32位的。框架
二、在配置文件中給出數據庫絕對路徑:ide
建好庫,表不用建函數
三、能夠新建個模型文件夾(Model),在其中添加一個實體數據模型,如圖:sqlserver
下圖這裏我選的第三個ui
完成後有一個model1.cs,大體內容以下(1仍是2不要糾結,2是後抓的圖)3d
四、按須要修改model,我動的結果以下:
說明:t1表示表裏的每條記錄(編號姓名年齡),T1s表示那張叫「t1」的表,程序經過棕色「name....」的部分找到配置文件裏的信息,根據驅動和文件路徑對錶進行操做,Model1表示你的數據庫。到此,你想作什麼別的修改,均可以爲所欲爲了。
五、程序中使用ef框架編程,最簡單的示例以下圖:
提醒:別忘了using。firstordefault不會用的去學下集合的知識。對了,第一次運行會說數據庫沒數據。這時候表就給你建好了,你本身進去加點數據就行了。以下圖:
_mig....那個圖是vs自動加進去的,懶得管它。
運行結果:
增刪改查網上大把資料,此處略。
官方推薦驅動(見https://docs.microsoft.com/zh-cn/ef/core/providers/)步驟以下:
一、經過nuget,安裝「entityframeworkcore.jet」
二、新建數據模型「空code first」,添加三個引用,刪除一個
using System.ComponentModel.DataAnnotations;//爲了後續說明主鍵[Key] using EntityFrameworkCore.Jet; using Microsoft.EntityFrameworkCore; //using System.Data.Entity;
三、修改模型文件:
刪除默認構造函數的參數:
public Model1() : base()
在模型類中改寫dbcontext中的配置方法
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseJet(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\xxx\ConsoleApp1\data\d1.accdb;"); }
描述表結構,用[Key]說明主key
public class T2 { [Key] public int xh { get; set; } public string Name1 { get; set; } }
四、建立對應的空數據庫表(僅結構,表中未設置key)
五、主程序:
Model1 m1 = new Model1(); var t = new T2(); t.xh = 2; t.Name1 = "張三"; m1.T2s.Add(t); m1.SaveChanges(); foreach (var item in m1.T2s) { Console.WriteLine(item.Name1); } Console.ReadKey();
六、注意程序生成爲x86(跟access驅動同樣)。這個東西能夠隨意修改數據庫和類,匹配就好。sqlserver選第三個就會提示遷移。