EF 的 CURD 操作
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 操作的更多相关文章
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- 关于有默认值的字段在用EF做插入操作时的思考(续)
问题描述 今天下午(看现在这时间,应该是昨天下午了哈),园友 choon 写了这样一篇博文<关于有默认值的字段在用EF做插入操作时的思考>. 博文内容主要记录的是 choon 使用 EF ...
- MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)
回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- 关于有默认值的字段在用EF做插入操作时的思考
今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置 ...
- php对xml文件进行CURD操作
XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...
- MongoDB的安装及CURD操作
MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据.我们选择64bit版进行下载. ...
- LINQ-to-SQL那点事~利用反射在LINQ-to-SQL环境中实现Ado.net的CURD操作
回到目录 对于linq to sql提供的CURD操作,给我们的感觉就是简单,容易使用,更加面向对象,不用拼SQL语句了,这些好处都表示在处理单条实体或者集合长度小的情况下,如果有一个1000条的集合 ...
- Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
随机推荐
- Java课堂笔记(零):内容索引
回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...
- Super Jumping! Jumping! Jumping! ---HDU - 1087
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. May ...
- 如何判断dt中所有行的状态并有选择的移除
DataRow drFocusedRow = dtCentralizerOptimalSelection.Rows[gvCentralizerOptimalSelection.FocusedRowHa ...
- 通过ffi在node.js中调用动态链接库[转]
http://blog.csdn.net/zhulin2609/article/details/51474676
- Zookeeper+Dubbo+SpringMVC环境搭建
项目码云GIT地址:https://gitee.com/xshuai/dubbo/ 开发工具 MyEclipse 10.7 JDK 1.7 容器 Tomcat 8(运行dubbo) zookeeper ...
- 【转载】CSS3 文字溶解效果
代码如下: <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <ti ...
- [Swift]LeetCode669. 修剪二叉搜索树 | Trim a Binary Search Tree
Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...
- [Swift]LeetCode915.将分区数组分成不相交的间隔 | Partition Array into Disjoint Intervals
Given an array A, partition it into two (contiguous) subarrays left and right so that: Every element ...
- [Swift]LeetCode941. 有效的山脉数组 | Valid Mountain Array
Given an array A of integers, return true if and only if it is a valid mountain array. Recall that A ...
- Markdown语法简介
1.标题 在想要设置为标题的文字前面加#来表示一个#代表一级标题,总共六级 2.字体 加粗要加粗的文字左右分别用两个*号包起来 斜体要倾斜的文字左右分别用一个*号包起来 斜体加粗要倾斜和加粗的文字左右 ...