实质:
EFCore的底层实际是将关于实体类的的操作编译成sql,然后让ado.net去执行
在Program.cs里使用SchoolContext
说明:需要SchoolContext.cs声明实体类的DbSet类,比如以下代码里的context.Classeses对应的为
1、添加数据
static void Main(string[] args) { using (var context = new SchoolContext()) { //添加班级 Classes classes = new Classes(); classes.Name = "二年一班"; classes.Manager = "韩华"; context.Classeses.Add(classes); classes.Name = "二年二班"; classes.Manager = "崔雷"; context.Classeses.Add(classes); context.SaveChanges(); } }
2、修改数据
Classes classes = context.Classeses.Where(s=>s.ID ==3).SingleOrDefault(); classes.Manager = "崔雷笑"; context.SaveChanges();
3、删除数据
Classes classes = context.Classeses.Where(s=>s.ID ==3).SingleOrDefault(); context.Classeses.Remove(classes); context.SaveChanges();
4、查询及查询sql转化
using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;
IQueryable要引用using System.Linq;通过IQueryable里的ToQueryString()方法可以翻译出对应执行的sql
using (var context = new SchoolContext()) {
IQueryable<Classes> List = context.Classeses.Where(s => s.Name.Contains("二年")); Console.WriteLine(List.ToQueryString()); foreach (var item in List) { Console.WriteLine(item.Manager + "\t" + item.Name); } }