最近在学习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. C# Web应用调试开启外部访问

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...

  2. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

  3. SQL Server 致程序员(容易忽略的错误)

    标签:SQL SERVER/MSSQL/DBA/T-SQL好习惯/数据库/需要注意的地方/程序员/容易犯的错误/遇到的问题 概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见 ...

  4. C语言 · Anagrams问题

    问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...

  5. 如何利用ETW(Event Tracing for Windows)记录日志

    ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统.由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事 ...

  6. 协议森林16 小美的桌号(DHCP协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...

  7. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  8. 初学seaJs模块化开发,利用grunt打包,减少http请求

    原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...

  9. WebSocket - ( 一.概述 )

    说到 WebSocket,不得不提 HTML5,作为近年来Web技术领域最大的改进与变化,包含CSS3.离线与存储.多媒体.连接性( Connectivity )等一系列领域,而即将介绍的 WebSo ...

  10. 如何使用本地账户"完整"安装 SharePoint Server 2010+解决“New-SPConfigurationDatabase : 无法连接到 SharePoint_Config 的 SQL Server 的数据 库 master。此数据库可能不存在,或当前用户没有连接权限。”

    注:目前看到的解决本地账户完整安装SharePoint Server 2010的解决方案如下,但是,有但是的哦: 当我们选择了"完整"模式安装SharePointServer201 ...