1. 程式人生 > >在Visual Studio 2013中配置Entity Framework使用MySQL

在Visual Studio 2013中配置Entity Framework使用MySQL

環境

使用的軟體及版本
- Microsoft Visual Studio Ultimate 2013 (版本 12.0.40629.00 Update 5)
- Microsoft.Net Framework 版本 4.6.01055
- MySQL版本: 5.6.17

步驟

1. 建立空的MVC專案

2. 安裝擴充套件

Install-Package EntityFramework
Install-Package MySql.Data.Entity -Version 6.9.9

3. 在資料庫中建立對應的表

必須在資料庫內先新建表,否則asp.net mvc會在本地建立local database。

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for t_movie
-- ----------------------------
DROP TABLE IF EXISTS `t_movie`;
CREATE TABLE `t_movie` (
  `f_id` int(11) NOT NULL AUTO_INCREMENT,
  `f_title` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`f_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2
DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS=1;

4. 在web.config中建立connection string

<add name="MovieDBContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=mvc;user id=root;password=;Charset=utf8;" providerName="MySql.Data.MySqlClient" />

5. 新建Model類

using System;
using
System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity; using System.Linq; using System.Web; namespace mvc5mysql.Models { [Table("t_movie")] public class Movie { [Column("f_id")] public int ID { get; set; } [Column("f_title")] public string Title { get; set; } } public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } } }

這裡面,我做了個註解(Annotation),可以設定表和欄位的別名,預設情況下,表名就是類名,欄位名就是屬性名。

6. 新增Controller

新增一個有模型的Controller:MovieController。

新增Controller

新增Controller

7. 訪問

介面

可以發現,在資料庫裡已經有了:

資料庫