Entity Framework Core in Action

Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正

第一部分目录导航

MyFirstEfCoreApp应用程序设置

创建了.Net Core控制应用程序过后,现在可以编写EF Core代码了. 在编写数据库访问代码之前,你需要做两个重要的部分

- EF Core将类映射到数据库中的表

- 应用程序的DbContext,它是用于配置和访问数据库的主类

映射到数据库中的类 -- Book和Author

EF Core将类映射为数据库中的表. 因此你需要创建一个实体类,或者你已有一个数据库则需要匹配数据库表. 有很多的规则和配置(本书后面会介绍), 图1.4给出了映射到数据库表的实体类的一般格式

下面是Author实体类的定义,它的结构与Book类相同,主键遵循EF Core命名约定(参见第6.3.15节). Book类有一个名为AuthorId的属性,EF Core将它视为外键,因为它与Author实体的主键同名

public class Author
{
public int AuthorId { get; set; }
public string Name { get; set; }
public string WebUrl { get; set; }
}

应用程序中的DbContext(数据库上下文)

另一个重要的部分是应用程序的DBContext. 这是继承自EF Core的DbContext的类. 它包含EF Core配置数据库所需的信息,也是在代码中访问数据库时使用的类(参见 1.9.2节). 图1.5展示了MyFirstEfCoreApp控制台应用使用的DbContext (名为AppDbContext)

在我们的小型示例中,建模的所有细节都是由EF Core完成的,它通过使用约定来解决问题. 你有很多其他方法告诉EF Core数据库模型的配置,这些命令会让这个小示例变的复杂,所以暂时不做介绍. 在第6章和第7章中介绍了所有的配置选择

本示例中使用了一种方法定义控制台应用程序的DbContext: 覆盖应用程序的DbContext的OnConfiguring方法,提供EF Core需要的数据库类型和连接字符串等其他信息. 这种方法的缺点是它的连接字符串是固定的,不利于单元测试

在ASP.NET Core应用程序中这是一个问题, 因为在不同的环境: 开发,测试,生产我们会使用不同的数据库. 在第2章中我们将构建一个ASP.NET Core Web应用程序,将会使用一个不同的方式来更改数据库连接字符串(参见2.2.2节)

[翻译 EF Core in Action 1.8] MyFirstEfCoreApp应用程序设置的更多相关文章

  1. [翻译 EF Core in Action 1.7] MyFirstEfCoreApp访问的数据库

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. [翻译 EF Core in Action 2.2] 创建应用程序的数据库上下文

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  3. [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  4. [翻译 EF Core in Action 1.6]你的第一个EF Core应用程序

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  5. [翻译 EF Core in Action 2.3] 理解EF Core数据库查询

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  6. [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  7. [翻译 EF Core in Action 2.0] 查询数据库

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  8. [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  9. [翻译 EF Core in Action 1.11] 何时不应该使用EF Core

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

随机推荐

  1. Oracle VM VirtualBox(一) 快速拷贝一个新的虚拟机

    快速拷贝一个新的虚拟机 一 找到虚拟机vdi文件,复制一份并重命名. 二 修改新虚拟机的UUID 注:不修改创建不了虚拟机,会抛出Oracle VM VirtualBox UUID already e ...

  2. (一)SpringBoot基础篇- 介绍及HelloWorld初体验

    1.SpringBoot介绍: 根据官方SpringBoot文档描述,BUILD ANYTHING WITH SPRING BOOT (用SPRING BOOT构建任何东西,很牛X呀!),下面是官方文 ...

  3. Maven Scope 依赖范围

    Maven依赖范围就是用来控制依赖与这三种classpath(编译classpath.测试classpath.运行classpath)的关系,Maven有以下几种依赖范围: ·compile:编译依赖 ...

  4. Tomcat配置与优化(内存、并发、管理)与性能监控

    原文链接:http://blog.csdn.net/xyang81/article/details/51530979 一.JVM内存配置优化 在开发当中,当一个项目比较大时,依赖的jar包通常比较多, ...

  5. Unity3D学习(一):简单梳理下Unity跨平台的机制原理

    前言 首先需要了解的是,Unity3D的C#基础脚本模块是通过Mono来实现的. 什么是Mono? 参考下百度百科:Mono是一个由Novell公司(由Xamarin发起)主持的项目,并由Miguel ...

  6. 通俗的讲法理解spring的事务实现原理

    拿房屋买卖举例,流程:销售房屋 -- 接待员 -- 销售员 -- 财务 售楼处 存放着所有待售和已售的房屋数据(数据源 datasource) 总经理 带领一套自己的班底,下属员工都听自己的,服务于售 ...

  7. Ajax+Spring MVC实现跨域请求(JSONP)(转)

    背景: AJAX向后台(springmvc)发送请求,报错:已阻止交叉源请求:同源策略不允许读取 http://127.0.0.1:8080/DevInfoWeb/getJsonp 上的远程资源.可 ...

  8. java.util.BitSet 详细分析 学习笔记

    1,BitSet类    大小可动态改变, 取值为true或false的位集合.用于表示一组布尔标志.   此类实现了一个按需增长的位向量.位 set 的每个组件都有一个 boolean 值.用非负的 ...

  9. SSM-Spring-15:Spring中名称自动代理生成器BeanNameAutoProxyCreator

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 名称自动代理生成器:BeanNameAutoProxyCreator 为了更好的测试,我放了俩个接口,俩个实现 ...

  10. 关于Linux虚拟化技术KVM的科普 科普一(先用起来!)

    是骡子是马是拉出来溜溜,通过<KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机>跑一遍,就会对KVM.QEMU-KVM有个大概的认识了. qemu-kvm已经不单独存在,qemu加上 ...