在Code First中,不需要使用SQL语句就能操作数据库里面的数据
一.新建项目
新建一个Asp.net MVC项目,起名为"CodeFirstDemo".Asp模板选择"Empty",勾上"MVC"
如图所示:
二.安装EntityFramework包
使用Code First需要继承DbContext类,DbContext类需要引入System.Data.Entity命名空间.此命名空间需要安装EntityFramework.
引入需要NuGet工具
输入以下命令
Install-Package EntityFramework -projectname CodeFirstDemo
三.定义实体类型
在右边"解决方案资源管理器"中的"Model"文件夹右键,新建一个类"Menu".
代码如下
Menu类
using System;
namespace CodeFirstDemo.Models
{
public class Menu
{
public int Id { get; set; }
public string Text { get; set; }
public decimal Price { get; set; }
public DateTime? Day { get; set; }
}
}
Code First基于约定的映射.例如,不是使用属性或配置文件来定义主键,而只需要用Id命名属性,或者名称需要以Id结尾,例如BooksId.这种属性会自动映射到主键上.
四.创建数据库(请先安装SQLserver)
VS2015中,点击"工具"-->"连接到数据库"
创建成功如图,点击数据库,默认右下角能查看数据库属性,获取连接字符串,如图:
五.创建数据上下文
为项目创建"Concrete"文件夹,并在该文件夹中添加"EFMenuContext"类
EFMenuContext类代码如下:
using System.Data.Entity;
using CodeFirstDemo.Models;
namespace CodeFirstDemo.Concrete
{
public class EFMenuContext:DbContext
{
private const string connectionString = @"这里填写你刚刚复制的连接字符串";
//指定数据库,如果不指定,会在项目"App_Data"中自动生成
public EFMenuContext()
: base(connectionString) { }
public DbSet<Menu> Menus { get; set; }
}
}
六.生成项目
七.创建控制器,创建数据库
在"Controller"文件夹中创建"Home"控制器
代码如下
using System.Web.Mvc;
using CodeFirstDemo.Concrete;
using CodeFirstDemo.Models;
namespace CodeFirstDemo.Controllers
{
public class HomeController : Controller
{
// GET: Home
public string Index()
{
using(var data=new EFMenuContext())
{
Menu m = data.Menus.Create();
}
return "创建数据库成功!";
}
}
}
八.添加Menus 增删改查控制器
九.修改路由
修改"App_Start"中的"RouteConfig.cs"文件
十.点击以下按钮
熟练的话估计五分钟内可以完成一个简单的增删改查MVC页面.
希望能帮到你~