ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

EF 简单 增删改查

2021-07-14 20:36:25  阅读:146  来源: 互联网

标签:return Students 改查 EF db id int 增删 public


一、新建Models 中实体类

在类中添加特性,添加特性之前需要引用命名空间

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

1、类的上边 [Table("表名称")] ​ 2、主键 [Key]

[Table("Student")]
  public class Student
  {
      [Key]
      public int SId { get; set; }
      [Required(ErrorMessage ="请输入姓名")]
      [StringLength(50)]
      public string SName { get; set; }
  }

二、新建Dal文件夹

1、右键-》新建项-》左边点数据,右边点 ADO.NET 实体数据模型-》选择空Code First 模型

2、在实体数据模型当中 添加 数据集属性

public DbSet<Model实体类> 属性名 { get; set; }--格式
public DbSet<Student> Students { get; set; }--例

三、更改web.config 数据库连接字符串

1、更改connectionString属性名 data source 值 改成 .或数据库实例名称

2、更改connectionString属性名 initial catalog 值 改成 自定义数据库名称

四、完成数据迁移命令-》菜单点-》工具-》NuGet包管理器->程序包管理器控制台

 

1、Enable-Migrations 启动迁移(将自动生成的Configuration文件中 AutomaticMigrationsEnabled =true)允许自动迁移

2、add-Migration init (init 名称自定义)

3、update-database 完成更数据库 迁移操作

五、增删改查之前实例化上下文

//上下文
      Model1 db = new Model1();

六、添加

例子:
public int Add(Student stu)
      {
          db.Students.Add(stu);//更改状态为“添加”
          return db.SaveChanges();//受影响行数
      }

七、删除

public int Del(int id)
      {
          //先通过id查询
          var item= db.Students.Find(id);
          //删除(更改状态)
          db.Students.Remove(item);
          //操作数据库
          return db.SaveChanges();
      }

八、显示

public List<Student> show()
      {
          return db.Students.ToList();//将数据转换为List集合
      }

九、编辑

public Student FinById(int id)
      {
          return db.Students.Find(id);//按id查询
      }

 

十、修改

public int Edit(Student stu)
      {
      //将实体类的状态改为“修改”状态
          db.Entry(stu).State = System.Data.Entity.EntityState.Modified;
          //受影响行数
          return db.SaveChanges();
      }

 

标签:return,Students,改查,EF,db,id,int,增删,public
来源: https://www.cnblogs.com/dvzvhj/p/15012817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有