001 创建一个控制台EFCore应用

1. 创建一个Asp.net core 类型的Console项目

File -- new -- project --console application

2. 添加类库支持

使用Nuget工具搜索Microsoft.EntityFrameworkCore.SqlServer类库进行安装。

3. 添加数据库(当前操作省略,后续详细介绍)

a 让EF Core为你创建数据库---Code First模式

b 从外来的已经创建好的数据库进行操作---Database First模式

4. 数据库简介

本次使用的数据库非常简单:

Books代表书籍表,包含主键BookId,还有其他字段:Title(标题),Description(描述),PublishedOn(发布时间),外键:AuthorId(作者id)

Author代表作者表,包含 主键AuthorId,其他字段Name(名称),WebUrl(个人主页)

表格的初始化内容如下:

5. 准备工作(1)

在正式操作数据库之前,你需要建立两方面的准备工作:

a 操作数据表的C#类

b DbContext类的建立

EF Core是通过C#类进行映射的,BookId是本表的主键,AuthorId是本表的外键,Author是外键对应的导航属性。

Author类的主键的名称与Book类的外键名称保持一致,当然,后续还会有代码或者注解的方法补充这一问题。

6.准备工作(2)

任何数据库上下文都需要继承自Dbcontext类,重写OnConfiguring方法

DbSet<Book> Books对应的就是Books数据表的映射。

7. 查询数据

AsNoTracking表示这是一个只读操作,这样可以优化EF Core的操作。

Include是显式的告诉EF Core,我需要加载导航属性,你帮我加载进来。

这个懒加载其实是EF Core帮你做了连表查询:

8. 更新数据

Include显式加载Author,Single表示只查询唯一的那条记录。

怎么更新数据呢?直接修改查询到的book对象的属性即可。

别忘啦db.SaveChanges();他告诉EFCore我已经修改完毕了,你存储一下吧!

在进行存储的时候,也就是saveChanges的时候,EFCore会帮助我们开启一个数据库事务,如果所有的写入操作都是没有问题的,那么数据库事务就会正常提交,否则,则会自动回滚,并抛出异常信息。

猜你喜欢

转载自blog.csdn.net/Day_and_Night_2017/article/details/89915179
001
今日推荐