您的位置:首页 > 数据库 > MySQL

visualstdudio 2013 MVC MySql为数据库。

2015-05-30 09:27 639 查看
不得不吐槽一下微软对自己产品的支持是非常棒的,但对它自己产品的竞争产品的支持相比而言是比较麻烦的,也很难找到资料来解决。本文章解决mysql数据库的问题。

下面是步骤:

1.新建asp.netMVC项目,添加引用:MySql.Data、MySql.Data.Entity、MySql.Web。提示:需要提前安装好mysql connector/net。在官网http://www.mysql.com/products/connector/能找到。

2.在Models文件夹新建Movie类。代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Data.Entity;

using System.ComponentModel.DataAnnotations;

using MySql.Data.Entity;

using MySql.Data.MySqlClient;

using MySql.Web.Security;

namespace mvc.Models

{

public class Movie

{

public int ID { get; set; }

public string Title { get; set; }

[Display(Name = "Release Date")]

[DataType(DataType.Date)]

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

public DateTime ReleaseDate { get; set; }

public string Genre { get; set; }

public decimal Price { get; set; }

public class MovieDBContext : DbContext

{

public DbSet<Movie> Movies { get; set; }

}

}

}

3.点击 工具->NuGet程序包管理器->程序包管理器控制台。在PM>后,先输入 Install-Package EntityFramework

运行完成后再输入Install-Package MySql.Data.Entity

等待运行完成。本步骤主要是让vs自动更改web.config文件夹,以满足mysql的使用需求。

4.首先重新生成一下本项目,不然可能会报错。在Models文件夹下,新建 ADO.NET实体数据模型,一步一步配置mysql,完成后会发现在web.config中的 <connectionStrings></connectionStrings>中多了 <add name="test" connectionString=... /> 这句话。证明成功了,重新生成一下本项目,一面报错。

如果出现提示:



选择 全否,以免放弃vs自动为mysql配置的web.config文件的更改。

5.在Models文件夹下,新建带有MVC5视图使用ef框架的控制器,配置如下:


模型类为第二步新建的Movie类,数据上下文类为第四步生成的<add />字符串生成的name值,即在本示范中是 test。控制器名称自己随意命名吧。

选择添加,如果没出错,你运气好。如果出错,重新生成在添加一些。还有错,提示不支持不同数据库之类就去web.config中修改自动生成的<add />。修改后如下:

<add name="test" connectionString="server=localhost;user id=你的mysql用户名;password=你的mysql密码;database=mymvc" providerName="MySql.Data.MySqlClient" />

重新生成一下本项目,再次添加,就会自动生成对数据库movies表的增删等操作。友情提示:必须提前在mysql中新建数据库及表,且表名应为你新建的model类名称+s。如本示范新建Movie.cs 类,则对应的表名称为movies,且各字段一一对应。

好了,终于解决了,亲儿子和干儿子的区别还是挺大的。感谢一些人的共享,我是在他们教程的提示下找到的解决方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: