最近在学习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. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  2. iOS可视化动态绘制八种排序过程

    前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序.俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客 ...

  3. Bootstrap-Select 动态加载数据的小记

    关于前端框架系列的可以参考我我刚学Bootstrap时候写的LoT.UI http://www.cnblogs.com/dunitian/p/4822808.html#lotui bootstrap- ...

  4. JavaScript Object对象

    目录 1. 介绍:阐述 Object 对象. 2. 构造函数:介绍 Object 对象的构造函数. 3. 实例属性:介绍 Object 对象的实例属性:prototype.constructor等等. ...

  5. [APUE]系统数据文件与信息

    一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...

  6. 原生javascript 固定表头原理与源码

    我在工作中需要固定表头这个功能,我不想去找,没意思.于是就写了一个,我写的是angularjs 自定义指令 起了个 "fix-header" ,有人叫  "freeze- ...

  7. jQuery幻灯片插件autoPic

    原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!

  8. 【夯实PHP基础】PHP数组,字符串,对象等基础面面观

    本文地址 分享提纲 1.数组篇 2.字符创篇 3.函数篇 4.面向对象篇 5.其他篇 /*************************** 一.数组篇 Begin***************** ...

  9. iOS之ProtocolBuffer搭建和示例demo

    这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...

  10. Android Fragment 剖析

    1.Fragment如何产生?2.什么是Fragment Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后 ...