EntityFramwork 相关概念

本文深入探讨ORM(Object Relational Mapping)概念及其在EntityFramework中的应用。覆盖EF的不同版本、开发模式(如CodeFirst、DatabaseFirst和ModelFirst),并解析上下文对象、导航属性和缓存对象的作用。同时,介绍C#语言特性及CLR(Common Language Runtime)的基础,最后讨论数据库迁移(Migrations)的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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版本,你也不需要因此卸载,因为你使用的应用程序可能依赖于特定版本,如果你移除该版本,则应用程序可能会中断。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值