EF 的 CURD 操作

  这里采用了数据库 Northwind,下载地址:https://northwinddatabase.codeplex.com/

         /// <summary>
/// 添加
/// </summary>
/// <returns></returns>
public static int Add()
{
using (var db = new NorthwindEntities())
{
var customer = new Customers()
{
CustomerID = "fanguza",
Address = "地球",
City = "广东",
Phone = "",
CompanyName = "博客园",
ContactName = "反骨仔"
}; //方法一
//db.Customers.Add(customer); //方法二
var entry = db.Entry(customer);
entry.State = EntityState.Added; return db.SaveChanges();
}
}

         /// <summary>
/// 删除
/// </summary>
/// <returns></returns>
static int Delete()
{
using (var db = new NorthwindEntities())
{
var customer = new Customers()
{
CustomerID = "fanguzi"
}; db.Customers.Attach(customer);
db.Customers.Remove(customer); return db.SaveChanges();
}
}

         /// <summary>
/// 编辑(修改)
/// </summary>
/// <returns></returns>
static int Edit()
{
using (var db = new NorthwindEntities())
{
var customer = db.Customers.FirstOrDefault(u => u.CustomerID == "fanguzai"); if (customer == null)
{
return ;
} customer.ContactName = "erwuzai";
return db.SaveChanges();
}
}

         /// <summary>
/// 查询
/// </summary>
static Customers Query()
{
using (var db = new NorthwindEntities())
{
var query =
db.Customers.Where(u => u.ContactName == "fanguza").OrderBy(u => u.ContactName).Take(); return query.FirstOrDefault();
}
}

分页

         public IQueryable<Customers> GetPageOfCustomerses<TKey>(int pageIndex, int pageSize,
Expression<Func<Customers, bool>> wherExpression,
Expression<Func<Customers, TKey>> orderByExpression)
{
using (var db = new NorthwindEntities())
{
//分页前需要排序
return db.Customers.Where(wherExpression).OrderBy(orderByExpression).Skip((pageIndex - ) * pageSize).Take(pageSize);
}
}

批量增加

         static void BatchAdd()
{
using (var db = new NorthwindEntities())
{
for (var i = ; i < ; i++)
{
var customer = new Customers()
{
CustomerID = "fanguzai" + i,
Address = "中国",
City = "广州",
Phone = "" + i,
CompanyName = "阳春一中",
ContactName = "反骨仔" + i
}; db.Customers.Add(customer);
} db.SaveChanges();
}
}

其它

         public IQueryable<Customers> GetCustomerses<TKey>(Expression<Func<Customers, bool>> whereExpression,
Expression<Func<Customers, TKey>> orderExpression)
{
using (var db = new NorthwindEntities())
{
return db.Customers.Where(whereExpression).OrderBy(orderExpression);
}
}

EF 的 CURD 操作的更多相关文章

  1. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  2. 关于有默认值的字段在用EF做插入操作时的思考(续)

    问题描述 今天下午(看现在这时间,应该是昨天下午了哈),园友 choon 写了这样一篇博文<关于有默认值的字段在用EF做插入操作时的思考>. 博文内容主要记录的是 choon 使用 EF ...

  3. MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)

    回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...

  4. Laravel框架数据库CURD操作、连贯操作使用方法

    Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍.   Laravel是一套简洁.优雅的PHP Web开 ...

  5. 关于有默认值的字段在用EF做插入操作时的思考

    今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置 ...

  6. php对xml文件进行CURD操作

    XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...

  7. MongoDB的安装及CURD操作

    MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据.我们选择64bit版进行下载. ...

  8. LINQ-to-SQL那点事~利用反射在LINQ-to-SQL环境中实现Ado.net的CURD操作

    回到目录 对于linq to sql提供的CURD操作,给我们的感觉就是简单,容易使用,更加面向对象,不用拼SQL语句了,这些好处都表示在处理单条实体或者集合长度小的情况下,如果有一个1000条的集合 ...

  9. Laravel框架数据库CURD操作、连贯操作

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...

随机推荐

  1. C#线程--5.0之前时代(一)--- 原理和基本使用

    一.开篇概念明晰: 多任务: 协作式多任务:cpu可以处理多种任务,但是这些任务是排队等候的,当cpu在处理一个任务的时候,其他的任务被锁定,只有当cpu处理完当前任务,才可以继续处理下一个任务(专一 ...

  2. web移动端开发技巧

    一.meta的使用 1.<meta name="viewport" content="width=device-width,initial-scale=1.0, m ...

  3. 动态请求数据并放入bootstrap轮播图

    下面是前端代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  4. async ,await 有图有真相

    1.async返回的一定是promise对象 2.await确实可以同步:

  5. CannyLab/tsne-cuda with cuda-10.0

    t-SNE-CUDA Barnes-Hut t-SNE https://github.com/CannyLab/tsne-cuda/projects 做数据降维时常用到,但计算较慢,所以可用cuda加 ...

  6. 格式化数据保留两位小数,输入格式为 :xxx,xx,,,,x,,(x为浮点数)

    /** * 格式化字符串 */ static String dataFormat(String data){ String formatedData = ""; // 浮点数正则表 ...

  7. Mesos源码分析(11): Mesos-Master接收到launchTasks消息

    根据Mesos源码分析(6): Mesos Master的初始化中的代码分析,当Mesos-Master接收到launchTask消息的时候,会调用Master::launchTasks函数.   v ...

  8. 安卓开发学习笔记(五):史上最简单且华丽地实现Android Stutio当中Webview控件https/http协议的方法

    一.我们先在XML当中自定义一个webview(Second_layout.xml) 代码如下: <?xml version="1.0" encoding="utf ...

  9. 【RL-TCPnet网络教程】第31章 Telnet远程登录基础知识

    第31章      Telnet远程登录基础知识 本章节为大家讲解Telnet (Teletype Network) 的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 31.1   ...

  10. 分享13道上海尚学堂拿回来的Java面试真题,这些都是Java核心常见问题,想拿OFFER必看!

    上海尚学堂Java培训学员参加面试带回来的真题,分享出来与大家,希望大家能认真地看看做一遍.后面有详细题解答案,对照下,看看自己做得怎么样,把这些面试遇到的真题全部掌握,做好面试笔试前的准备. 一.1 ...