//要使用using,使用完成后释放 using TestDbContext ctx = new TestDbContext(); //也是C#新语法,在创建的时候直接定义属性 var b1 = new Book { AuthorName = "杨中科", Title = "零基础趣学C语言", Price = 59.8, PubTime = new DateTime(2019, 3, 1) }; var b2 = new Book { AuthorName = "Robert Sedgewick", Title = "算法(第4版)", Price = 99, PubTime = new DateTime(2012, 10, 1) }; ctx.Books.Add(b1); ctx.Books.Add(b2); //以上部分只是修改了内容中的数据,需要使用save方法保存在数据库中,推荐使用异步方法 await ctx.SaveChangesAsync();
查询数据
可以使用LinQ对DbSet进行数据查询。
1 2 3 4 5
using TestDbContext ctx = new TestDbContext();
var books = ctx.Books.Where(b => b.Price > 80); var booksOrder = ctx.Books.OrderBy(b => b.Price);//按照价格排序 var booksGroup = ctx.Books.GroupBy(b => b.AuthorName).Select(g => new { AuthorName = g.Key, booksCount = g.Count(), MaxPrice = g.Max(b => b.Price) });//分组后处理,利用了匿名类
修改和删除数据
1 2 3 4 5 6 7 8 9
using TestDbContext ctx = new TestDbContext(); var b = ctx.Books.Single(b => b.Title == "数学之美"); b.AuthorName = "Jun Wu"; await ctx.SaveChangesAsync();
//删除 var b = ctx.Books.Single(b => b.Title == "数学之美"); ctx.Remove(b);//也可以写成ctx.Books.Remove(b); await ctx.SaveChangesAsync();