关于Asp.net MVC中Code First简单的应用

在Code First中,不需要使用SQL语句就能操作数据库里面的数据

一.新建项目

新建一个Asp.net MVC项目,起名为"CodeFirstDemo".Asp模板选择"Empty",勾上"MVC"

如图所示:

新建项目1

新建项目2

二.安装EntityFramework包

使用Code First需要继承DbContext类,DbContext类需要引入System.Data.Entity命名空间.此命名空间需要安装EntityFramework.
引入需要NuGet工具

打开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中,点击"工具"-->"连接到数据库"

连接到数据库
新建数据库"CodeFirstDemo"
创建成功如图,点击数据库,默认右下角能查看数据库属性,获取连接字符串,如图:
获取连接字符串

五.创建数据上下文

为项目创建"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; }
    }
}

六.生成项目

Paste_Image.png

七.创建控制器,创建数据库

在"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 增删改查控制器

Paste_Image.png
Paste_Image.png

九.修改路由

修改"App_Start"中的"RouteConfig.cs"文件

Paste_Image.png

十.点击以下按钮

你可以对Menu表进行增删改查啦

熟练的话估计五分钟内可以完成一个简单的增删改查MVC页面.
希望能帮到你~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,292评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,914评论 25 709
  • 目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 我们假定你在...
    OneAPM阅读 5,585评论 0 10
  • 二零一七年八月的某天 一早被一连串叮叮当当闹钟叫醒,躺在床上发了一回呆,又起身坐了一会,总算是清醒几分,拖着鸡窝发...
    温柔的木鱼南方阅读 2,773评论 0 0
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. $# 在Linux Shell脚...
    SnailTyan阅读 10,408评论 0 8