MVC和EF(entityframework)的简单使用

1.首先我们需要在NuGet中下载entityframework的包

就是这个红色的
2.在Model文件夹中创建你需要的类型
grade类型
在这里插入图片描述
Student类型
在这里插入图片描述
3.在web.conify文件中写入

 <connectionStrings>
    <add connectionString="Data Source=.;Initial Catalog=Department;Integrated Security=True" providerName="System.Data.SqlClient" name="con"/>
  </connectionStrings>

详细位置在这里
在这里插入图片描述
4.在Model文件夹中创建一个addcontext名字的类型

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;

namespace WebApplication4.Models
{
    public class Addcontext:DbContext
    {
        /// <summary>
        /// 连接数据库
        /// </summary>
        public Addcontext() : base("con")
        {
            Database.SetInitializer<Addcontext>(null);
        }
        /// <summary>
        /// 表和表之间的关系
        /// </summary>
        /// <param name="modelBuilder"></param>
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
            modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention >();
        }
        //注册类型
        public DbSet<Student> students{get;set;};
        public Dbset<grade> grades{get;set;};
       
    }
}

5.接下来打开你的NuGet控制台
在这里插入图片描述
6.输入指令
(1)Enable-Migrations
成功后
参数写
(2)Add-Migration
参数随便写
参数写
成功后
在这里插入图片描述在这里插入图片描述
在这里写你的默认数据
在这里插入图片描述
(3)Update-Database
成功
在这里插入图片描述
7.方法接口
在Model文件夹中创建一个Interface的接口,里面是方法
在这里插入图片描述
8.写详细的方法
创建一个Setstudent名字的类(注意创建后的第一件事就是实现addcontext的注入)

 protected readonly addcontext context = new addcontext();
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="student"></param>
        /// <returns></returns>
        public student Addstudent(student student)
        {
            context.Students.Add(student);
            context.SaveChanges();
            return student;
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public student Delstudent(int id)
        {
            student students = context.Students.Find(id);
            if (students != null)
            {
                context.Students.Remove(students);
                context.SaveChanges();
            }
            return students;
        }
        /// <summary>
        /// 读取对应的
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public student Getstudent(int id)
        {
            return context.Students.Find(id);
        }
        /// <summary>
        /// 读取全部
        /// </summary>
        /// <returns></returns>
        public IEnumerable<student> GetStudents()
        {
            return context.Students;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="student"></param>
        /// <returns></returns>
        public student upstudent(student upstudent)
        {
            context.Students.Add(upstudent);
            context.Entry(upstudent).State = System.Data.Entity.EntityState.Modified;
            context.SaveChanges();
            return upstudent;
        }

9.控制器里面使用
注入接口
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值