ORM: Object Relational Mapping 关系对象映射
Entity Framework:微软官方提供的ORM工具,将数据存储从域对象自动映射到关系型数据库的工具
EF5由两部分组成,EF api和.net framework 4.0/4.5,而EF6是独立的EntityFramework.dll,不依赖.net Framework。使用NuGet即可安装EF。
EF支持三种开发模式: Code First、Database First和Model First。
导航属性(Navigation properties)是指跟其它实体有关联的属性(数据库中的外键关系)。在实体类型中不是导航属性的属性通常叫做标量属性(scalar proerties).
(contextobject)上下文对象是实体框架服务的入口,它暴露实体对象,管理数据库连接,生成参数化的SQL语句,从数据库中封送(marshals)数据或封送数据到数据库。
缓存对象,维护对象变化跟踪,把无类型的结果集转换到一个强类型的集合对象。一开始,上下文对象为ObjectContext对象,
现在,实体框架支持另一个最新的名为DbContext的上下文对象。DbContext大大简单化了使用实体框架的体验。
有趣的是,DbContext是ObjectContext的一个包装器或者外观实现者。以一种直观的、友好的、有效的方式暴露底层ObjectContext的功能。
C#是一种编程语言,它是运行在CLR上的,CLR提供了它的编译环境。
CLR,即公共语言运行时,CLR提供了所有类型的应用程序都要使用的编程模型。包括文件加载器,垃圾收集器,安全系统,线程池等。
CLR还提供了一个面向对象的编程模型,定义了类型和对象是什么,以及他们的行为方式。
CLR:Common Language Runtime,是一个可由多种编程语言使用的“运行时”。
CLR的核心功能(比如内存管理、程序集加载、安全性、异常处理和线程同步)可由面向CLR的所有语言(C#,Visual Basic,F#等)使用。
数据库迁移(Migrations)
Windows系统默认安装的有.NET Framework,并且可以安装多个.NET Framework版本,你也不需要因此卸载,因为你使用的应用程序可能依赖于特定版本,如果你移除该版本,则应用程序可能会中断。