EF入门-CRUD操作

一、EF数据查询
假设我们已经定义好了context:
private AccountContext db = new AccountContext();

1、[基本查询] 查询所有
var users = from u in db.SysUsers
  select u;

users = db.SysUsers;

2、[条件查询] 加入查询条件
users = from u in db.SysUsers
where u.UserName == "Tom"
select u;

users = db.SysUsers.Where(u => u.UserName == "Tom");

3、[排序和分页查询]
users = (from u in db.SysUsers
orderby u.UserName
select u).Skip(0).Take(5);

users = db.SysUsers.OrderBy(u => u.UserName).Skip(0).Take(5);

NOTE:只有排序了才能分页

4、[聚合查询]
//查user总数
var num = db.SysUsers.Count();
//查最小ID
minId = db.SysUsers.Min(u => u.ID);

NOTE:聚合查询只能通过函数式查询

5、[连接查询]
var users = from ur in db. SysUserRoles
join u in db. SysUsers
on ur.SysUserID equals u.ID
select ur

二、EF数据更新
数据更新,分三步:找到对象--> 更新对象数据--> 保存更改
public ActionResult EFUpdateDemo()
{
    //1.找到对象
    var sysUser = db.SysUsers.FirstOrDefault(u => u.UserName == "Tom");

//2.更新对象数据
    if (sysUser != null)
    {
        sysUser.UserName = "Tom2";
    }

//3.保存修改
    db.SaveChanges();

return View();
}

三、EF数据添加/删除
与UPDATE类似。
public ActionResult EFAddOrDeleteDemo()
{
    //添加
    //1.创建新的实体
    var newSysUser = new SysUser()
    {
        UserName = "Scott",
        Password = "tiger",
        Email = "[email protected]"
    };
    //2.增加
    db.SysUsers.Add(newSysUser);
    //3.保存修改
    db.SaveChanges();

//删除
    //1.找到需要删除的对象
    var delSysUser = db.SysUsers.FirstOrDefault(u => u.UserName == "Scott");
    //2.删除
    if (delSysUser!=null)
    {
        db.SysUsers.Remove(delSysUser);
    }
    //3.保存修改
    db.SaveChanges();

return View("EFQueryDemo");
}

原文地址:https://www.cnblogs.com/zhaow/p/9754017.html

时间: 2024-08-30 03:30:42

EF入门-CRUD操作的相关文章

8天掌握EF的Code First开发系列之2 简单的CRUD操作

本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 创建控制台项目 根据.Net中的类来创建数据库 简单的CRUD操作 数据库模式更改介绍 本章小结 本人的实验环境是VS 2012,windows 7,MSSQL Server 2008 R2. 创建控制台项目 1. 新建控制台应用项目 2. 通过NuGet安装Entity Framework 6 根据.Net中的类来创建数据库 上面的步骤之后,我们就可以开始写代码了.在写代码之前,你要始终记得,每个类就是相应

YII入门 (3) -- 实现 CRUD 操作

通过Gii来实现系统的 CRUD  操作 1.修改 config 文件夹的 main.php,激活 Gii ,如下 'modules'=>array( // uncomment the following to enable the Gii tool 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'123456', // If removed, Gii defaults to localhost only. E

MVC3和MVC4中CRUD操作

MVC3中EF实现的CRUD操作 public class HomeController : Controller { // // GET: /Home/ CarModelContainer db = new CarModelContainer(); #region 查询所有 +Index() public ActionResult Index() { List<CarModel> list = (from c in db.CarModel select c).ToList(); //View

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(二)--使用MyBatis对表执行CRUD操作 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作.本文中使用到的测试环境是上一篇博文中的测试环境. 一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMa

SequoiaDB 系列之二 :SequoiaDB的简单CRUD操作

上一篇通过一系列的操作,终于把SequoiaDB的集群部署到单台机器上了. 建议去安装体验一下吧. 在整个环境的部署的体验来看,并没有MongoDB的部署简单,但是比MongoDB的部署要清晰.MongoDB启动进程,后面跟着一大串配置,有点云里雾里的感觉,这个对初学者不太友好.而SequoiaDB的部署,着眼整个集群环境,能在脑中轻松构建一副设计图,协调节点的服务端口是11810,catalog节点的服务端口是11820,11830,11840,而数据节点的服务端口是11850,11860,1

EF的CRUD

已经知道EF就是一个能够使得编程人员用面向对象的思想操作数据库的框架,那么在最初学习SQL的时候我们就知道对数据库的操作就是增删改查.万变不离其宗. EF也是操作数据库的当然也就是要对数据库实现增删改查(称为CRUD)而ADO.net.EF都是一种方式,还有就是Linq也能够不适用SQL语句就实现对数据库的CRUD.如今我们主要学习的就是EntityFrameWork究竟是怎么进行的. 在VS中使用"ADO.net数据实体模型"后生成的.edmx文件下会有一个后缀为.Context.t

对实体类的CRUD操作

--------------------siwuxie095 对实体类的 CRUD 操作 1.创建数据库和表 (1)创建一个 MySQL 连接:mybatis_conn (2)创建一个数据库:mybatis_db,其中:字符集 和 排序规则 可不选,图中显示即为默认值 (3)在 mybatis_db 数据库中创建一张表:t_user,其中:uid 为主键, 且设为自动增长 (4)在 t_user 表中插入若干数据 2.创建实体类 User.java: package com.siwuxie095

Hibernate对象的CRUD操作

1.  Hibernate对象的CRUD操作 1.1.  对象的三种状态 瞬时(Transient) - 由new操作符创建,且尚未与HibernateSession 关联的对象被认定为瞬时(Transient)的.瞬时(Transient)对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier).如果瞬时(Transient)对象在程序中没有被引用,它会被垃圾回收器(garbage collector)销毁.使用Hibernate Session可以将其变为持久(Persis

【翻译】MongoDB指南/CRUD操作(三)

[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近性,分布式查询(Distributed Queries),分布式写操作,模拟两阶段任务提交,在副本集中执行配额读取 1 原子性和事务(Atomicity and Transactions) 在MongoDB中,写操作在单文档级别具有原子性,即使修改一个文档中的多个嵌入式文档也是如此. 当一个写操作修