最近在学习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简单的创建数据库(非常详细的步骤)的更多相关文章

  1. 【Android】数据库的简单应用——创建数据库

    SQLiteOpenHelper是一个抽象类,要使用它必须写一个类继承它.SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),我们要在类里面重写这两个方法来实现 ...

  2. sqlserver 简单的创建数据库

    简简单单,作为不是牛逼的程序来说,这是很容易忘记的sql语句: use mastergo --判断是否存在该数据库if exists(select *from Sysdatabases where n ...

  3. Django Setting文件配置和简单的创建数据库字段

    Django Settings文件配置 静态文件配置 STATIC_URL = '/static/' # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_D ...

  4. EF Codefirst入门之创建数据库

    实验环境是VS 2015.MSSQL Server 2008.windows 10 一.创建项目 通过VS创建一个MVC5项目EntityFrameworkExtension 二.安装Entity F ...

  5. MVC中使用代码创建数据库(code first +mysql+EF)

    1.新建一个mvc项目 2.安装mysql需要的几个文件 EntityFramework.MySql.Data(6.9.12)和MySql.Data.Entity (6.9.12) 这里有几点要注意 ...

  6. 学习MVC之租房网站(三)-编写实体类并创建数据库

    在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式 ...

  7. Oracle 11g R2创建数据库之手工建库方式

    在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...

  8. SQL Server语句创建数据库和表——并设置主外键关系

    简单的创建数据库的 SQL 语句: use master go if exists(select * from sysdatabases where name='Test') begin select ...

  9. XamarinSQLite教程创建数据库

    XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了.操作步骤如下: (1)在Visual Studio中, ...

随机推荐

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. 火焰图分析openresty性能瓶颈

    注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...

  3. 透过WinDBG的视角看String

    摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...

  4. 移动硬盘不能识别的常见7种解决方案 ~ By 逆天经验

    服务器汇总:http://www.cnblogs.com/dunitian/p/4822808.html#iis 服务器异常: http://www.cnblogs.com/dunitian/p/45 ...

  5. nodejs进阶(2)—函数模块调用

    函数调用 1. 文件内普通函数调用 创建一个js文件命名为2_callFunction.js,其中定义一个函数fun1,向返回对象输出了一段字符串“你好,我是fun1”. //------------ ...

  6. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  7. ZKWeb网页框架1.3正式发布

    本次更新的内容有 更新引用包版本 Microsoft.AspNetCore.Hosting.Abstractions 1.1.0 Microsoft.AspNetCore.Http.Abstracti ...

  8. javascript运动系列第一篇——匀速运动

    × 目录 [1]简单运动 [2]定时器管理 [3]分享到效果[4]移入移出[5]运动函数[6]透明度[7]多值[8]多物体[9]回调[10]函数完善[11]最终函数 前面的话 除了拖拽以外,运动也是j ...

  9. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  10. Android Weekly Notes Issue #236

    Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...