博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC & Entity Framework(1)- 开发环境
阅读量:5241 次
发布时间:2019-06-14

本文共 1472 字,大约阅读时间需要 4 分钟。

一直都有接触asp.net mvc,希望自己借此次机会把Blog搭起来的同时能够更深入地学习相关知识。

 ①新建

  打开VS2012,新建ASP.Net MVC 4项目,接着选择“空”模板(因为不想用自带的一些模板,所以选择了“空”模板,如果想“基本”,则会默认帮我们添加一些基本的页面和代码)

  既然用到了MVC,自然少不了Entity Framework。使用EF时,我们可以采用三种方式: Database FirstModel First, and Code First

  这里只说Code First() 。

  因为我在①中选用了空模板,所以必须自己手动安装EF包——其实就是EF的相关dll引用。关于如何在MVC里使用EF,可以了解得更多。在PM控制台输入以下命令并回车确定:

install-package EntityFramework

③创建DataContext

  首先,在Models目录下创建实体类。这些实体类最终将会和数据库里表一一对应。关于Entity Framework Code First关系映射约定的文章,可以参考博客园里。

  接着,新建一个DAL目录,在目录里添加一个继承自DbContext的class,并在class里定义各个Models下面的DbSet变量。如下图所示:

  最后,配置数据库服务器。官方Demo文档里指出,我们可以不显式在web.config里配置数据库连接字符串,让EF自动帮我们创建一个,但这种方式创建出来的数据库mdf文件很大可能不是在项目的App_data目录的。所以,我们还是不偷这个懒。数据库配置如下(名称默认用前面DbContext子类的名称,MyDataContext)

  这里,如果万一我已经有一个重名的数据库连接呢?或者,到正式部署时需要修改数据库连接名称呢?别担心,可以重写DbContext的构造函数,用代码传递一个连接参数给DbContext,如下图所示: 

 

④启动迁移功能

  输入以下PM命令并回车确定:

enable-migrations -contexttypename  MyDataContext

  VS将自动添加一个Migrations目录和一个Configuration.cs文件

  注:如果DataContext类不在Web项目里,输入以上命令时会提示:The context type 'MyDataContext' was not found in the assembly 'xxx.Web'。针对此种情况,可以手工添加Migrations目录和一个Configuration.cs文件,或者先把DataContext类复制到Web项目,enable-migrations 完成之后再移到原来的项目工程里。

 

⑤创建数据库

  增加迁移,输入以下PM命令并回车确定:

add-migration InitialCreate

  应用迁移,输入以下PM命令并回车确定:

update-database

 

⑥查看数据库表

  到此,基本的工作完成了,在项目的App_Data目录下将生成两个数据库文件,可以使用SQL Server或者VS自带的SQL Server Express 打开数据库文件查看相应的表了。

 

备注:查询PM相关帮助命令

Get-Help nuget

 

转载于:https://www.cnblogs.com/oneivan/p/3832640.html

你可能感兴趣的文章
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
IT学习神器——慕课网App获App Store、Android应用市场重磅推荐
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
编程珠玑第十一章----排序
查看>>
Face The Right Way POJ - 3276 (开关问题)
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
变量的命名规范
查看>>
手机端自动跳转
查看>>
react中进入某个详情页URL路劲参数Id获取问题
查看>>
首届.NET Core开源峰会
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>