EF操作数据库的步骤和一些简单操作语句

  这里是写给我自己做记录的,不会写成一篇很好的博客,也不会置顶,如果有朋友看到了,而且觉得里面的内容不咋的,希望见谅哈!

关于这部分内容,这里推荐一篇总结的非常好的博客,如果你点击进来了,那么请略过下面的内容,直接点击这个链接,因为写的真的不错:https://www.cnblogs.com/gosky/p/5751815.html

  我个人还没有对EF相关的内容进行详细的整理,所以这篇随笔的参考意义不大,只是贴一些代码上去,以后有机会有时间,会对相关内容做一个总结。

使用EF操作数据库的详细步骤主要分为一下几步:

1.创建EF实体数据库模型:

在某个项目上点击右键 添加 ==》数据 ==》ADO.Net实体数据库模型 ==》然后按照提示去走;

2.实例化上下文

  首先找到需要实例化的上下文的名字,在ef实体里的这个文件里:

打开该文件后,代码如下:

红框处的名字就是该实体的上下文。

实例化上下文的具体做法如下:

FirstDBEntities1 db = new FirstDBEntities1();

3.使用上下文操作数据库 之 查询操作

(1)根据主键id获取某个表的数据

操作方法为:

UserInfo userInfo = new UserInfo();

userInfo  =  db.UserInfo.Find(id);

其中UserInfo是该数据表对应的实体类的类名,执行该操作后,即可获取主键id为某个数的那一行的数据,然后通过 userInfo.XXX 即可获去相应字段的值;

(2)获取某个数据表全部数据

操作方法为:

List<UserInfo>  list = new List<UserInfo>
list = db.UserInfo.ToList();

执行该操作后久会把该数据表中的所有数据都取出来,存放在一个List集合中;

(3)根据其他条件进行查询

var user = db.UserInfo.Where(u => u.userName == "AAA" );

这是使用lambda表达式进行查询,查询的结果是一个list集合,通过下面的方法可以遍历取出这些数据:

foreach(var item in user)
{
      xxx = item.yyyy;
}

 4.使用上下文操作数据库 之 增

创建一个实体数据对象,并对其各个字段赋值,然后使用上下文执行增加操作,

UserInfo user = new UserInfo();
user.userName = "BBB";
user.passWord = "23456";
db.UserInfo.Add(user);

db.SaveChanges();

需要注意的是,在执行完添加操作之后,需要执行 db.SaveChanges() 操作, 这句话的意思是,把我们修改的内容更新到数据库中。

5.使用长下文操作数据库 之 改

首先要指定你修改的某一行的id:

UserInfo user = new UserInfo();
user.UserId = 3;

接下来对要修改的字段进行重新赋值:

user.userName = "CCC";
user.passWord = "1234567";

然后执行修改操作:

db.Entry(user).State = EntityState.Modified;

最后将修改保存到数据库中

db.SaveChanges();

如果只修改单个属性,比如只修改userName,则写为:

UserInfo user = new UserInfo();
user.userId = 3;
user.userName = "DDD";
db.Entry(user ).Property(u => u.userName).IsModified = true;
db.SaveChanges();

 6. 使用长下文操作数据库 之 删

UserInfo user = new UserInfo();
user.userId = 3;

db.Entry<UserInfo>(user).State = System.Data.Entity.EntityState.Deleted;

db.SaveChanges();

好了,先简单写一下,只是草草记录,后续有时间会进行系统的归纳总结。

原文地址:https://www.cnblogs.com/CherishTheYouth/p/CherishTheYouth_829.html

时间: 2024-10-18 15:28:32

EF操作数据库的步骤和一些简单操作语句的相关文章

mysql数据库在Python中的简单操作

from pymysql import connect def check_data(cur): sql = "select * from student;" # sql语句 cur.execute(sql) # 执行sql语句 # 获取查询的所有记录 result = cur.fetchall() print(result) for value in result: print(value) def insert_data(cur, conn): sql = ""

使用cglib和JAVA反射实现AOP操作数据库增删改查的简单功能

对mybatis理解的还不是特别深刻,只会简单的使用,实现这个功能跟平常使用spring+mybatis时的DAO操作有点类似,spring+mybatis具体内部实现还不清楚,后续要继续学习 代码: 1. 实体类: 1 package com.mrlu.concurrency.domain; 2 3 /** 4 * Created by stefan on 15-12-19. 5 */ 6 public class Goods { 7 private Integer id; 8 private

SQLite操作数据库的步骤

package com.example.dbdemo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast; publ

mysql数据库和数据表的简单操作

一.数据库的增删改查 1.新建数据库 CREATE DATABASE 数据库名 charset utf8; 数据库名规则:可以由字母.数字.下划线.@.#.$ 区分大小写, 不能使用关键字如 create select, 不能单独使用数字, 最长128位 2.查看数据库 show databases; show create database 数据库名; 3.选择数据库 USE 数据库名; 4.删除数据库 DROP DATABASE 数据库名; 5.修改数据库字符编码 alter databas

django操作数据库之查询F,Q操作 和 seach搜索功能

# F 使用查询条件的值 # # from django.db.models import F # models.Tb1.objects.update(num=F('num')+1) # Q 构建搜索条件 from django.db.models import Q # con = Q() # # q1 = Q() # q1.connector = 'OR' # q1.children.append(('id', 1)) # q1.children.append(('id', 10)) # q1

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 大概步骤如下5步: 1.创建项目(Asp.net Core 2.1项目) 2.项目使用EF Core 3.建立实体 4.生成迁移文件(生成数据库) 5.使用VS工具生成视图.控制器代码 示例代码下载  https://github.com/ZhMartincheng/NetCoreDemo.git 1.创建项目(Asp.net Core 2.1项目) 选择.net core 版本2.1 基础项目创建成功 2.项目使用E

JDBC操作数据库的详细步骤

JDBC操作数据库的步骤: 1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源  一堆close() 1.注册驱动,发射技术,将驱动加入到内容 使用java.sql.DriverManager类静态方法 registerDriver(Driver driv

JDBC操作数据库的学习(2)

在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本篇就在简单开发中如何对上一篇的例子进行“升级”,满足简单开发中对数据库的增删改查(CRUD). 如果按照上一篇中的例子,那么我们在做增删改查的话将会出现每个方法都要获取连接,释放资源,代码会出现很大的重复性,因此我们应该将每个增删改查每个方法中可以复用的代码抽取出来,同时为了能切换数据库方便,也该将一些配置信

使用Flask+MongoDB实现基于REST的接口简单操作

目录 前言 1 准备工作 2 具体实现 前言 最近在捣鼓如何使用阿里云服务器搭建一个简单的基于Flask框架的后端接口,刚开始为了图方便,就直接买了一个Windows Server 2008系统服务器,这也埋下了不小的坑. 服务买下来后,会给你一个公网IP和内网IP,由于是第一次学习搭建后端接口,对于如何正确使用阿里云服务器,来处理好公网IP和内网IP之间的关系埋下了不小的坑,真是对应的一句话:技术的成长往往是一步一个坑. 下面简单说一下搭建Flask服务器端遇到的问题: 首先,Flask自带了