最近在学习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. RecyclerView使用大全

    RecylerView介绍 RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recyler ...

  2. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  3. Java 输出流中的flush方法

    转自:http://blog.csdn.net/jiyangsb/article/details/50984440 java中的IO流中的输出流一般都有flush这个操作,这个操作的作用是强制将缓存中 ...

  4. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

  5. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航

    ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...

  6. [C#] 简单的 Helper 封装 -- SQLiteHelper

    using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summ ...

  7. Velocity笔记--使用Velocity获取动态Web项目名的问题

    以前使用jsp开发的时候,可以通过request很轻松的获取到根项目名,现在换到使用velocity渲染视图,因为已经不依赖servlet,request等一些类的环境,而Web项目的根项目名又不是写 ...

  8. C# 数组的交集、差集、并集

    C# 数组的交集.差集.并集 工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入. using System; using System.Collections.Generic; u ...

  9. Kotlin中变量不同于Java: var 对val(KAD 02)

    原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...

  10. Lucene4.4.0 开发之排序

    排序是对于全文检索来言是一个必不可少的功能,在实际运用中,排序功能能在某些时候给我们带来很大的方便,比如在淘宝,京东等一些电商网站我们可能通过排序来快速找到价格最便宜的商品,或者通过排序来找到评论数最 ...