EFCore学习(二)——添加,修改,删除,查询操作及将EFCore语句编译成sql

实质:

EFCore的底层实际是将关于实体类的的操作编译成sql,然后让ado.net去执行

在Program.cs里使用SchoolContext

说明:需要SchoolContext.cs声明实体类的DbSet类,比如以下代码里的context.Classeses对应的为

EFCore学习(二)——添加,修改,删除,查询操作及将EFCore语句编译成sql

 

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();

EFCore学习(二)——添加,修改,删除,查询操作及将EFCore语句编译成sql   EFCore学习(二)——添加,修改,删除,查询操作及将EFCore语句编译成sql

 

 

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); } }

EFCore学习(二)——添加,修改,删除,查询操作及将EFCore语句编译成sql

 

上一篇:ZUCC_Object Oriented Programming_Lab05 Objects and Classes


下一篇:学习ECMAScript 2015【2】Classes