在Visual Studio 2013中配置Entity Framework使用MySQL
阿新 • • 發佈:2019-02-16
環境
使用的軟體及版本
- 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。
7. 訪問
可以發現,在資料庫裡已經有了: