MVC & Entity Framework(1)- 开发环境
一直都有接触asp.net mvc,希望自己借此次机会把Blog搭起来的同时能够更深入地学习相关知识。
①新建
打开VS2012,新建ASP.Net MVC 4项目,接着选择“空”模板(因为不想用自带的一些模板,所以选择了“空”模板,如果想“基本”,则会默认帮我们添加一些基本的页面和代码)
既然用到了MVC,自然少不了Entity Framework。使用EF时,我们可以采用三种方式: Database First, Model First, and Code First。
这里只说Code First(代码优先,戳这里) 。
因为我在①中选用了空模板,所以必须自己手动安装EF包——其实就是EF的相关dll引用。关于如何在MVC里使用EF,可以戳这里了解得更多。在PM控制台输入以下命令并回车确定:
install-package EntityFramework
③创建DataContext
首先,在Models目录下创建实体类。这些实体类最终将会和数据库里表一一对应。关于Entity Framework Code First关系映射约定的文章,可以参考博客园里Libing的这篇文章。
接着,新建一个DAL目录,在目录里添加一个继承自DbContext的class,并在class里定义各个Models下面的DbSet变量。如下图所示:
最后,配置数据库服务器。官方Demo文档里指出,我们可以不显式在web.config里配置数据库连接字符串,让EF自动帮我们创建一个,但这种方式创建出来的数据库mdf文件很大可能不是在项目的App_data目录的。所以,我们还是不偷这个懒。数据库配置如下(名称默认用前面DbContext子类的名称,MyDataContext)
<connectionStrings>
<add name="MyDataContext" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=IvanByDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\IvanByDB.mdf" />
</connectionStrings>
这里,如果万一我已经有一个重名的数据库连接呢?或者,到正式部署时需要修改数据库连接名称呢?别担心,可以重写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
MVC & Entity Framework(1)- 开发环境的更多相关文章
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...
- ASP.NET MVC+EasyUI+Entity FrameWork 整合开发
本文详细讲解怎么用ASP.NET MVC+EasyUI+Entity FrameWork 来开发一个项目 对于ASP.NET MVC的Jscript库,主要引用 <script type=.mi ...
- MVC & Entity Framework(2)- controller、Models单独DLL
继上一篇MVC & Entity Framework(1)- 开发环境之后,已经很久没更新了.接下来记录一下怎么把MVC中的controller单独拆为一个类库,然后在web项目中引用.另外, ...
- ASP.NET MVC - Entity Framework
ASP.NET MVC - Entity Framework 实体关系 关系是某个实体(表)的一条记录对应于另一个实体(表)的一条或多条记录. 一对多关系 单方面的包含关系称为一对多,而一对多和一对一 ...
- Entity Framework 6 开发系列 目录
2014 年开始接触 Entity Framework 6 也快两年,用它已经沉淀了一个成熟架构,也用来开发了不少大大小小的产品和项目,直到这段时间,才真正有时间来回顾,重新学习它,为让大家更加了解E ...
- 使用ASP.NET MVC+Entity Framework快速搭建系统
详细资料: http://www.cnblogs.com/dingfangbo/p/5771741.html 学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和 ...
- Asp.net Mvc Entity Framework Code First 数据库迁移
1.创建Mvc项目 2.安装Entity Framework 2.1.如下图打开程序包管理器控制台: 2.2.输入命令Install-Package EntityFramework,即可安装Entit ...
- ASP.NET MVC+Entity Framework 访问数据库
Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.n ...
- Spring学习之第一个Spring MVC程序(IDEA开发环境)
回顾Java平台上Web开发历程来看,从Servlet出现开始,到JSP繁盛一时,然后是Servlet+JSP时代,最后演化为现在Web开发框架盛行的时代.一般接触到一个新的Web框架,都会想问这个框 ...
随机推荐
- .Net 有关程序集查找与加载的一点反思
最近在做一款叫VICA产品,此产品采用了插件机制,插件在运行中加载,插件与插件之间存在依赖关系,所有的插件DLL为方便管理都放置在Plugins的文件夹下统一管理.这种处理方式不自觉的就让我想了解cl ...
- JDK文件夹结构及文件解释
bin:一些命令行工具,包括Java编译器的启动命令. lib:开发工具使用的文件,一些类库 jre:java程序运行环境所需文件
- javascript正则中ASCII与unicode
正则表达式中允许直接利用ASCII和Unicode编码来查找我们相应的字符串. ASCII: 下面是检索ASCII编码在x41-x7a范围内的所有匹配的字符串.(x41,x7a为十六进制) var s ...
- iOS:CALayer核心动画层
CALayer:核心动画层 简介: Core Animation 是跨平台的,支持iOS环境和Mac OS X环境 学习核心动画之前,需要先理解CALayer,因为核心动画操作的对象不是UIView, ...
- grep:字符串查找
转自: http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达 ...
- Screen多视窗远程控制管理服务
Screen是一款由GNU开源计划开发的多视窗远程控制管理服务,简单来说就是为了解决上述情况中网络异常中断或同时控制多个远程窗口而设计的程序. Screen服务程序不仅能够解决上述问题,而且用户在使用 ...
- RenderMonkey 练习 第四天 【OpenGL Texture Bump】
BumpTexture 1. 新建一个OpenGL 空effect; 2. 添加相关变量 右击Effect节点选择Add Variable->float->float / float3 添 ...
- (转)Android技术积累:图片缓存管理
如果每次加载同一张图片都要从网络获取,那代价实在太大了.所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了.从内存缓存读取图片是最快的,但是因为内存 ...
- Solr6.6 IK 中文分词的配置和使用
1. 首先,下载IKAnalyzer ,下载 2. 将ik的相关文件 拷贝到 webapps\solr\WEB-INF\lib 目录下 或者存放solr-6.6.0\server\solr\test\ ...
- UVa 164 - String Computer
题目:编辑距离.给你两个串,将已知串转化成目标串,能够增.删.改字母,求最小操作次数. 分析:dp,编辑距离.同最大公共子序列. 注意操作位置是实时变化的. (前面都已经处理好了) ...