.net使用EF6和mvc5开发web官方教程

本教程详细介绍了如何使用EF6和MVC5进行Web开发,涵盖数据库优先、模型优先和代码优先三种方式。通过实例,你将学习到如何创建实体模型,实现CRUD操作,以及执行排序、过滤和分页。此外,还将探讨如何处理复杂的ASP.NET MVC数据模型和使用Entity Framework读写关联数据。
摘要由CSDN通过智能技术生成

1.简介

首先需要说明的是,用ef框架开发web程序共有三种开发流程,database first,model first,code first,三种开发流程的ef流程图如下:


2.说明

下面对三种开发流程做简要的说明

1>database first(数据库优先)

数据库优先适用于你已经有了完整的数据库设计,且不应该大量改动(下面会说明原因),这样ef框架可以根据已有的数据库来映射出数据模型(data model),若数据库大量改动,则必须重新生成data model,由于ef在生成data model时,把数据库中的表映射成mode中的实体类,并生成***Context类来提供对数据库的操作,把表之间的对应关系通过实体类中的导航属性来关联,这样对于我们已经开发完成的项目而言,则是存在重大的风险,比如某个表多加了一个新列,原程序中没有对此列做处理,很可能导致程序跑起来,跑出大量的异常,甚至严重的错误,所说的data model具体到程序中,也就是一个.edmx的文件,ef提供了可视化的操作方式,类似linq to sql 中的数据库拖放操作,这样我们在要对数据库操作时,只要使用ef提供的***Context类来操作***Context对应的DbSet进行增删改查,然后调用***Context的保存方法,ef变会把你的操作同步到数据库中

2>model first(模型优先)

模型优先使用于你还没有数据库的情况下,你可以先建立一个空的.edmx模型,借助ef的可视化设计器设计自己的data model,包括实体类和实体类之间的关系和***Context,设计完成后,通过在可视化界面,右键生成数据库库命令即可生成对应的数据库,然后你就可以使用自己定义的data model来操作数据库了,这里需要说明地是,这里的data model仍然以.edmx的方式存在于程序中

3>code first(代码优先)

code也是在数据库没有确定的情况下,和modelfirst不同的是,代码有限不在使用.edmx的data model,而是自己完全定义data model的形式来操作数据库,当然了,自定义的内容和code first一样的,只是不在借助于ef的可视化界面,自己定义classes,relation,context,然后指定ef生成数据库的时机,就可以使用自己定义的data model来操作数据库了,code first最大的好处是灵活

3.使用教程

由于ef的开发流程分成3个独立的过程,固ms官方教程也分为3个独立部分,本文试着一个一个章节的翻译,希望能对读者有所帮助

1>database frist

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值