MVC CodeFirst简单的创建数据库(非常详细的步骤)
最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等等知识。
上网百度了很多资料,最多的是code-first也就是所谓的ef模式;因为也是初学,还好有C#和ASP.NET项目经验,很多人写的博客只是非常粗劣的介绍,初学者很多都无法真正体会到乐趣,这个是做一个笔记,所以自己也是半摸索,半研究的进行第一个MVC进行数据库创建的操作添加。相信很多初学者也有很多的困惑(大神自动略过)
使用工具:VS2015 Community;Windows环境-WIN10;数据库-[MySQL Workbench];.NET Framework4.5.2;
第一步:打开VS2015:文件->新建->项目/直接面板上新建项目然后这边解决方案名字改成【My_firstMVC】直接确定;如图一
第二步:进入ASP.NET选择界面选择Empty->核心引用 MVC打钩即可,然后确定进入。
第三步:这时候可以看到系统已经自动为我们创建好了很多个文件夹以及文件(Models:主要用于创建表模型这里指的是数据库记录列表;View:主要用于显示给用户的界面; Controllers:主要用于连接M-V之间以及后台需要返回给View视图的逻辑)。
第四步:这边我只要简单的创建一个带有表的数据库即可:例如-数据库为Education 创建表名为Student;
第五步:创建完成类--》‘表’之后,接下来比较关键的是配置我们的数据库连接;这里很多误区,可能初学者会遇上,很多别人的入门教程也是简单的说了一下,没有具体的告诉你如何运行的。这边直接告诉你,让你少走很多弯路。
1.开发过项目的人最基本的就是数据库配置,可以轻松配置这一步,这里只是针对于初学者。
2.添加
<connectionStrings> 中间这边是你自己的数据库连接配置 </connectionStrings>
例如这个项目我的配置是:<add name="Education" providerName="MySql.Data.MySqlClient" connectionString="server=服务器地址;port=服务器端口;database=数据库名称(Education);uid=用户名;password=密码" />;
第六步:最关键的一步是在以上步骤完成之后进行创建数据库操作(创建数据库上下文)。在Models文件夹下新建一个名为‘Education’的类与配置中的name保持一致,继承自DbContext,准备就绪;创建完成之后系统会提示你错误,这是因为没有引用EntityFramework.dll的缘故,VS2015强大的地方在于可以直接在VS里面下载对应的组件就 OK。具体操作步骤为:解决方案右键->管理Nuget程序包(N)...然后在浏览里面输入关键词:EntityFramework,然后下载安装
选择我接受;
紧接着会有一个保存的对话框提示,选择全是;
最后添加命名空间using System.Data.Entity;
第七步:创建好之后数据库操作之后,我们肯定会有一个疑问那View跟Controllers都还没用到啊,别着急,接下来就是这个了;
首先创建Controllers文件夹下一个HomeControllers
第八步:在大家创建好这个控制器之后系统会自动在View文件夹下创建Home文件夹,在这里面创建一个名为“Index”的视图;
这里面的List表示的是用来呈现我数据库数据集。然后确认【添加】。
至此,直接按F5运行。可是远远不止这么简单,你会看到运行之后出现以下的界面;
乍一看,我擦,这报的错误对于初学者来讲,搞事情啊。但仔细的冷静下来之后,回想起我可是曾经风靡我的整个大学的时代的外语歌手冠军以及校十佳歌手,我可不能被这英文提示就打败了,于是我就用了有道把这句话翻译了下(PS:开个小玩笑),好啦扯远了;这里提示说明了一个很关键的问题,认真分析下:Model这个集合里面有获取对象,但是为什么报错呢?
提示语说得很清楚:The ADO.NET provider with invariant name 'MySql.Data.MySqlClient' is either not registered in the machine or application config file, or could not be loaded. See the inner exception
MySqlClient是没有在这台电脑上注册或应用程序配置文件,或无法加载。
这里很关键的一个就是配置:MySql.Data和MySql.Data.Entity(跟之前的一样添加方式,就不再赘述了)。
看见没,很神奇吧,自行添加了。OK,我们再试下运行。
到此完成,很有意思的东西,我想让大家学的更透彻一点,所以就每一步都列出来了。有什么不足或者不对的地方,请高手们指出来。
MVC CodeFirst简单的创建数据库(非常详细的步骤)的更多相关文章
- 【Android】数据库的简单应用——创建数据库
SQLiteOpenHelper是一个抽象类,要使用它必须写一个类继承它.SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),我们要在类里面重写这两个方法来实现 ...
- sqlserver 简单的创建数据库
简简单单,作为不是牛逼的程序来说,这是很容易忘记的sql语句: use mastergo --判断是否存在该数据库if exists(select *from Sysdatabases where n ...
- Django Setting文件配置和简单的创建数据库字段
Django Settings文件配置 静态文件配置 STATIC_URL = '/static/' # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_D ...
- EF Codefirst入门之创建数据库
实验环境是VS 2015.MSSQL Server 2008.windows 10 一.创建项目 通过VS创建一个MVC5项目EntityFrameworkExtension 二.安装Entity F ...
- MVC中使用代码创建数据库(code first +mysql+EF)
1.新建一个mvc项目 2.安装mysql需要的几个文件 EntityFramework.MySql.Data(6.9.12)和MySql.Data.Entity (6.9.12) 这里有几点要注意 ...
- 学习MVC之租房网站(三)-编写实体类并创建数据库
在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式 ...
- Oracle 11g R2创建数据库之手工建库方式
在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...
- SQL Server语句创建数据库和表——并设置主外键关系
简单的创建数据库的 SQL 语句: use master go if exists(select * from sysdatabases where name='Test') begin select ...
- XamarinSQLite教程创建数据库
XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了.操作步骤如下: (1)在Visual Studio中, ...
随机推荐
- Hibernatel框架关联映射
Hibernatel框架关联映射 Hibernate程序执行流程: 1.集合映射 需求:网络购物时,用户购买商品,填写地址 每个用户会有不确定的地址数目,或者只有一个或者有很多.这个时候不能把每条地址 ...
- HTML5 input元素新的特性
在HTML5中,<input>元素增加了许多新的属性.方法及控件.本文章分别对这三方面进行介绍. 目录 1. 属性 2. 方法 3. 新控件 1. 属性 <input>元素在H ...
- OpenCASCADE Shape Location
OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...
- 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
Redis 安装 & 配置 本测试环境将在 CentOS 7 x64 上安装最新版本的 Redis. 1. 运行以下命令安装 Redis $ wget http://download.redi ...
- SDWebImage源码解读 之 NSData+ImageContentType
第一篇 前言 从今天开始,我将开启一段源码解读的旅途了.在这里先暂时不透露具体解读的源码到底是哪些?因为也可能随着解读的进行会更改计划.但能够肯定的是,这一系列之中肯定会有Swift版本的代码. 说说 ...
- WPF样式之画刷结合样式
第一种画刷,渐变画刷GradientBrush (拿线性渐变画刷LinearGradientBrush(其实它涵盖在GradientBrush画刷内.现在拿他来说事.),还有一个圆心渐变画刷Radia ...
- Autofac - MVC/WebApi中的应用
Autofac前面写了那么多篇, 其实就是为了今天这一篇, Autofac在MVC和WebApi中的应用. 一.目录结构 先看一下我的目录结构吧, 搭了个非常简单的架构, IOC(web), IBLL ...
- 小程序用户反馈 - HotApp小程序统计仿微信聊天用户反馈组件,开源
用户反馈是小程序开发必要的一个功能,但是和自己核心业务没关系,主要是产品运营方便收集用户的对产品的反馈.HotApp推出了用户反馈的组件,方便大家直接集成使用 源码下载地址: https://gith ...
- NOIP2016纪录[那些我所追求的]
人生第一场正式OI [序] 2016-12-04 见底部 [Day -1] 2016-11-17 期中考试无心插柳柳成荫,考了全市第2班里第1(还不是因为只复习了不到两天考试),马上请了一个周的假准备 ...
- NOIP模板整理计划
先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...