Net Core 學習入門(五)----------使用EF連結資料庫
阿新 • • 發佈:2019-02-04
由於netcore2.0集成了Ef,所以我們使用Ef的時候配置一下就行了。
1,配置資料庫連結appsetting.json
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"DBSetting": {
"ConnectString": "server=.;database=TestEF;uid=sa;pwd=123456"
}
}
2,寫一個model
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CoreMvc.Models { public class Product { public int Id { set; get; } public string Name { set; get; } } }
3,寫一個DB操作類繼承EF操作資料庫的DBContext,並設定容器
using CoreMvc.Models; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; namespace CoreMvc.Common { public class DB : DbContext { public DbSet<Product> Products { set; get; } public DB() { //如果沒有資料庫,自動建立,有了什麼都不幹 Database.EnsureCreated(); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //對於這個上下文重寫此方法以配置要使用的資料庫(和其他選項)。對於上下文的每個例項呼叫此方法建立。 //載入appsetting.json IConfiguration configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json").Build(); string connectionString = configuration["DBSetting:ConnectString"]; optionsBuilder.UseSqlServer(connectionString); base.OnConfiguring(optionsBuilder); } } }
4,寫一個controller測試一下
public IActionResult Index()
{
var db = new DB();
db.Products.Add(new Product
{
Name = "紅富士"
});
db.SaveChanges();
return View();
}
5,完畢,EF的增刪改查就不寫了。