版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.NETMVC网站设计教程第3章EF数据模型3.1EntityFramework简介EF(EntityFramework)是微软以ADO.NET为基础开发的对象关系映射(ObjectRelationalMapping)解决方案。作为一种ORM的数据访问框架EF将数据从对象自动映射到关系型数据库,不需要编写大量的数据访问代码,只要会应用LINQ,就可以如同Object对象一样方便地操作数据库,节省编写数据库访问代码的时间。表3.1EF支持的主要数据库数据库名MicrosoftSQLServer(含Express、ExpressLocalDb及Compact)OracleMySqlIBMDB2、Informix与U2Npgsql(PostgreSQL)SybaseSQLAnywhere、AdaptiveServerSQLiteSynergyDBMSFirebirdVistaDBEntityFramework在开发时主要有CodeFirst、ModelFirst以及DatabaseFirst等3种设计模式。对于初次使用EF的读者,建议从DatabaseFirst模式开始学习,熟悉了ObjectContext<T>和LINQtoEntities之后,再使用CodeFirst模式和ModelFirst模式进行实践。3.2EntityFramework设计模式3.2.1DatabaseFirst模式【例3-5】创建控制台应用程序,使用EF框架中的DatabaseFirst模式,基于Demo数据库在项目中创建实体类。3.2.2ModelFirst模式【例3-6】创建控制台应用程序,按Demo数据库中数据表的结构设计模型,使用EF框架中的ModelFirst模式,在项目中生成数据库以及代码。3.2.3CodeFirst模式【例3-8】创建控制台应用程序,按Demo数据库中的数据表的结构设计模型,使用EF框架中的CodeFirst模式,对应的在项目中生成模型及数据库文件。3.2.4App.config的相关设置1.设置数据库类型为SQLServer(非LocalDb)<defaultConnectionFactorytype="System.Data.Infastructure.SqlConnectionFactory,EntityFramework"><parameters><parametervalue="DataSrouce=MyDatabaseServer;IntergratedSecurity=True;MultipleActiveResultSets=True"/></parameters></defaultConnectionFactory>2.设置数据库类型为SQLServerCompact<defaultConnectionFactorytype="System.Data.Entity.Infastructure.SqlCeConnectionFactory,EntityFramework"><parameters><parametervalue="System.Data.SqlServerCe.4.0"/></parameters></defaultConnectionFactory>3.设置数据库类型为SQLServerExpressLocalDb<defaultConnectionFactorytype="System.Data.Entity.Infastructure.LocalDbConnectionFactory,EntityFramework"><parameters><parametervalue="v12.0"/></parameters></defaultConnectionFactory>4.设置CodeFirst的连接字符串<connectionStrings><addname="BlogContext"providerName="System.Data.SqlClient"connectionString="Server=(local);Database=Blogs;IntegratedSecurity=True;"/></connectionStrings>5.设置DatabaseFirst/ModelFirst的连接字符串<connectionStrings><addname="BlogContext"connectionString="metadata=res://*/BloggingModel.csdl|res://*/BloggingModel.ssdl|res://*/BloggingModel.msl;provider=System.Data.SqlClientproviderconnectionstring="datasource=(localdb)\v11.0;initialcatalog=Blogs;integratedsecurity=True;multipleactiveresultsets=True;""providerName="System.Data.EntityClient"/></connectionStrings>3.2.5由数据库生成模型对于已经存在数据库也可以直接使用CodeFirst模型,基本方法是在ADO.NET实体数据模型向导中选择“来自数据库的CodeFirst模型”选项。其他的操作和DatabaseFirst的模式设计的步骤基本相同。3.3EntityFramework数据处理3.3.1使用EF模型进行查询与LINQ模型查询记录数据类似,使用EF模型进行查询也是需要先使用数据上下文类构建查询的数据源,然后使用Lamdba表达式添加必要的查询条件,将查询的结果返回。在DatabaseFirst模式设计模式创建对象中均实现了查询操作,只是数据源类型和方法调用上有部分细小差别。3.3.2使用EF模型进行插入【例3-9】创建控制台应用程序,使用EF创建模型,并使用基于Lambda表达式的查询方法实现学生信息的插入操作。3.3.3使用EF模型进行修改【例3-10】创建控制台应用程序,使用EF创建模型,并使用基于Lambda表达式的查询方法实现学生信息的修改操作。3.3.4使用EF模型进行删除【例3-11】创建控制台应用程序,使用EF创建模型,并使用基于Lambda表达式的查询方法实现学生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科jsp毕业课程设计
- 本地小区清洁外包方案
- 2024至2030年纸板桶项目投资价值分析报告
- 木隔板施工方案
- 2024至2030年油墨移印机胶头项目投资价值分析报告
- 2024至2030年松香对特辛基苯酚树脂项目投资价值分析报告
- 2024年养殖合作协议标的与养殖方式
- 2024年个人保证合同新规定
- 2024年镁带项目可行性研究报告
- 2024年客运站营运调度管理系统项目可行性研究报告
- 收费员安全培训
- 正确认识人的本质
- 儿童心理学教育培训家庭教育辅导
- 2024年北京排水集团招聘笔试冲刺题(带答案解析)
- 《字体设计》课程标准
- 【语文】福建省厦门市同安区2023-2024学年八年级上学期期中考试试题(解析版)
- 烟草雪茄培训课件讲解
- 家长进课堂医学心肺复苏
- Unit3ConservationLesson3TheRoadtoDestruction课件-北师大版选择性
- 学校设备排查方案
- 阿联酋分析报告
评论
0/150
提交评论