Entity Framework 学习初级篇1--EF基本概况

C# .NET Entity Framework 教学指南 本文还有配套的精品资源,点击获取 简介:Entity Framework (EF) 是C#中一个流行的ORM框架,用于简化数据库操作。本教程介绍了EF的基本概念、工作原理和几种工作模式。包括核心组件如DbContext的介绍,以及数据操作、自动迁移、延迟加载和查询等主要功能。同时,提供了一些最佳实践和技巧,帮助开发者提高开发效率,构建高效且易于维护的应用程序。 1... 阅读详情

最近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说,在实际项目慎用此框架。

下面简单的介绍以下这个EF。

在.Net Framework SP1微软包含一个实体框架(Entity Framework),此框架可以理解成微软的一个ORM产品。用于支持开发人员通过对概念性应用程序模型编程(而不是直接对关系存储架构编程)来创建数据访问应用程序。目标是降低面向数据的应用程序所需的代码量并减轻维护工作。Entity Framework 应用程序有以下优点:

·                 应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。

·                 应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。

·                 可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。

·                 开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。

·                 多个概念性模型可以映射到同一个存储架构。

·                 语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。

实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。在EF中的实体数据模型(EDM)由以下三种模型和具有相应文件扩展名的映射文件进行定义。

·                 概念架构定义语言文件 (.csdl) -- 定义概念模型。

·                 存储架构定义语言文件 (.ssdl) -- 定义存储模型(又称逻辑模型)。

·                 映射规范语言文件 (.msl) -- 定义存储模型与概念模型之间的映射。

实体框架 使用这些基于 XML 的模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。EDM 甚至支持将概念模型中的实体映射到数据源中的存储过程。它提供以下方式用于查询 EDM 并返回对象:

·                 LINQ to Entities -- 提供语言集成查询 (LINQ) 支持用于查询在概念模型中定义的实体类型。

·                 Entity SQL -- 与存储无关的 SQL 方言,直接使用概念模型中的实体并支持诸如继承和关系等 EDM 功能。

·                 查询生成器方法 --可以使用 LINQ 风格的查询方法构造 Entity SQL 查询。

下图演示用于访问数据的实体框架体系结构:

 

 

 

  

下面,来学习EF的基本使用方法。软件环境::

·                 Visual Studio 2008 +SP1

·                 SQL Server2005/2008

首先,建立一个名为“EFProject”的解决方案,然后添加一个名为“EFModel”的类库项目。如下图所示。

 

接着,在EFModel项目中,添加“ADO.NET Entity Data Model”项目,如下图所示:

 

名称取为“NorthWindEF.edmx”,然后点击“添加”。然后,在后面的步骤中,数据库选择“NorthWind”后,在选择影射对象是,把表、试图、存储过程全部都选上,其他的均保存默认的即可。最终生成的结果如下图所示。

 

 

好了,数据模型生成完毕。

最后,谈谈我认为的一些缺点:

·                 Edmx包含了所有对象的csdl,ssdl,msl文件,过于庞大,如果要手动修改这个文件,一不小心,眼睛看花了,就改错了。(和数据集一样的毛病)。

·                 目前EF支持表、试图、存储过程,其他的对象不支持,而且对使用存储过程有很多限制(目前有EFExtension提供了更多对象的支持)。

·                 除了MS SQL Server可直接提供这种可视化的设计界面外,其他的数据库目前还没有提供可视化设计界面(但可以自己来实现,后面介绍)。

·                 性能问题。(网上看到有说比ADO.Net慢700百,又有人说比ADO.net快的,具体情况我还没测试过, 但我觉得像这个些类型的框架,性能肯定是比上原生态的ADO.net慢)

好了,接下来,学习以下简单的各种操作。

ADO.NET EntityFramework 完整版教程(从初级到高级) Entity Framework完整版教程,从初级到中级,再到高级,循序渐进。 立即下载

相关推荐

别再只调IoU了!给YOLOv8换上NWDLoss,实测小目标检测精度提升明显

本文深入探讨了YOLOv8在小目标检测中的优化策略,重点介绍了NWDLoss(Normalized Wasserstein Distance Loss)的应用优势。通过对比实验证明,NWDLoss能有效解决传统IoU损失函数的局限性,显著提升小目标检测精度,在遥感影像和交通监控等场景中表现尤为突出。文章提供了详细的代码实现和训练技巧,帮助开发者快速集成这一先进技术。

weixin_29072299的博客 267

学懂C#编程:常用框架学习(三)——.NET Framework框架下的Entity Framework (EF)开发应用详解

学懂C#编程:常用框架学习,.NET Framework框架下的Entity Framework (EF)开发应用详解

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 3652

从CTF到实战:Frida Hook无导出SO函数的3种特殊姿势

本文深入探讨了在移动安全逆向工程中,如何利用Frida Hook无导出SO函数的三种高级技巧:字符串引用定位法、调用栈回溯法和内存特征码扫描。针对安卓So层加固和混淆场景,文章结合CTF赛题与实战案例,详细解析了每种方法的原理、实现步骤与适用场景,为安全研究人员提供了从理论到实践的完整解决方案。

jenkins8butler的博客 516

[hystar整理]Entity Framework 教程

本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework。ADO.NET的LINQ to Entity部分以LINQ为基础,为了完整性首先介绍LINQ技术。 预备知识 LINQ技术 LINQ是.NET 3.5中新增的一种技术,这个技术扩展了.NET平台上的编程...

weixin_30335575的博客 1009

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3197

SystemC实战:用C++搞芯片建模的5个典型场景(含代码示例)

本文通过五个典型实战场景,详细介绍了如何使用SystemC这一基于C++的硬件建模库进行芯片设计与系统级建模。内容涵盖从基础并发模块构建、事务级总线建模、跨时钟域验证,到与ModelSim协同仿真及多核系统性能探索,并提供了完整的代码示例,帮助软件工程师利用熟悉的C++工具链高效参与硬件架构设计与验证。

weixin_29191761的博客 315

Entity Framework学习初级篇1--EF基本概况

最近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说,在实际项目慎用此框架。 下面简单的介绍以下这个EF。 在.Net Framework SP1微软包含一个实体框架(Entit

Lele的专栏 508

Unity程序化河流生成工具Waterways:从算法到实践的全流程解析

程序化内容生成(PCG)是游戏开发与三维建模领域的关键技术,它通过算法自动创建游戏内容,显著提升开发效率。其核心原理是将设计规则转化为可执行的代码逻辑,从而生成复杂、多样且符合自然规律的环境资产。在开放世界游戏和模拟经营类项目中,程序化生成技术能够快速构建大规模、高一致性的自然场景,如山川、森林与水体网络。Unity引擎作为广泛使用的开发平台,其地形系统与着色器管线为程序化工具的集成提供了强大基础。本文聚焦于利用Waterways这一Unity工具集,深入探讨如何通过模拟重力驱动、流量累积等自然水力原理,在

weixin_33690963的博客 684

STM32 SBUS接收实战:DMA+IDLE+状态机高可靠解析方案

SBUS是一种广泛应用于航模飞控、机器人遥控的串行通信协议,其核心特点是单线反相、100k波特率、25字节固定帧长与毫秒级实时性要求。理解其底层时序原理(如≥3bit帧间隔、空闲中断触发机制)是实现稳定接收的前提;技术价值在于规避HAL_UART_Receive_IT的窗口期缺陷,通过DMA循环搬运+硬件IDLE中断精准捕获帧边界,再以确定性状态机完成无memcpy解析,显著降低CPU占用并提升帧完整性。典型应用场景包括四轴飞控信号采集、AGV工业遥控终端、穿越机主控等对实时性与鲁棒性敏感的嵌入式系统。本文

cuibinmo3519的博客 360

智能园艺:AI Agent控制的室内种植系统

随着城市化进程的加速和人们对健康生活的追求,室内种植逐渐成为一种流行的生活方式。然而,传统的室内种植方式往往需要人工进行大量的监测和管理,效率低下且难以保证植物的生长质量。智能园艺:AI Agent控制的室内种植系统旨在利用先进的人工智能技术和传感器设备,实现室内种植的自动化和智能化管理,提高种植效率和植物生长质量。本系统的范围涵盖了从植物生长环境的监测到种植过程的自动化控制,包括温度、湿度、光照、土壤水分等环境参数的实时监测,以及灌溉、施肥、通风等种植操作的自动执行。

AI天才研究院 783

量化 insider 爆料! 散户打板必亏?(打板必看!量化资金如何“隔日砸盘”收割散户)

量化开发 insider 爆料💥 散户追的涨停板📉,可能是机构故意做的陷阱!本文从技术视角拆解“涨停陷阱”,帮你看清市场真实逻辑🧠。

XiaoqiangClub的博客 451

Entity Framework学习初级篇1--EF基本概况《转》

最近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说,在实际项目慎用此框架。 下面简单的介绍以下这个EF。 在.Net Framework SP1微软包含一个实体框架(Entit...

weixin_34161083的博客 135

Plecs standalone 4.9.5最新版本,赶紧来下载使用吧,需要做并网逆变器及光伏储能变换器的朋友赶紧下载起来

PLECS 4.9.5较4.7.1版实现全面升级:采用自适应求解器切换技术,支持多核CPU/GPU加速,仿真速度提升30-50%;新增模型引用功能,实现模块化设计;强化光伏/风电等新能源组件,支持多物理场耦合分析;优化代码生成功能,兼容多种硬件平台和FMU导入。新版特别适用于复杂电力电子系统、多域联合仿真及硬件在环测试项目,但对硬件配置要求更高。基础教学项目仍可使用4.7.1版本。建议用户根据项目复杂度选择升级方案。

2436

Entity Framework 学习初级篇1--EF基本概况(入门)

最 近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会 有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说,在实际项目慎用此框 架。 下面简单的介绍以下这个EF。 在.Net Framework SP1微软包含一个实体框架(En...

weixin_30773135的博客 108

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Entity Framework 学习初级篇1--EF基本概况(转)

http://www.cnblogs.com/xray2005/archive/2009/05/07/1452033.html最 近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会 有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说...

weixin_34293059的博客 75

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Get Method Names using Reflection [C#]
下一篇: Entity Framework 学习初级篇2--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager类的介绍
迷途笛音
博客等级 码龄19年 27粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值