EF 的 CURD 操作

EF 的 CURD 操作

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

 1         /// <summary>
 2         /// 添加
 3         /// </summary>
 4         /// <returns></returns>
 5         public static int Add()
 6         {
 7             using (var db = new NorthwindEntities())
 8             {
 9                 var customer = new Customers()
10                 {
11                     CustomerID = "fanguza",
12                     Address = "地球",
13                     City = "广东",
14                     Phone = "13800138000",
15                     CompanyName = "博客园",
16                     ContactName = "反骨仔"
17                 };
18
19                 //方法一
20                 //db.Customers.Add(customer);
21
22                 //方法二
23                 var entry = db.Entry(customer);
24                 entry.State = EntityState.Added;
25
26                 return db.SaveChanges();
27             }
28         }

 1         /// <summary>
 2         /// 删除
 3         /// </summary>
 4         /// <returns></returns>
 5         static int Delete()
 6         {
 7             using (var db = new NorthwindEntities())
 8             {
 9                 var customer = new Customers()
10                 {
11                     CustomerID = "fanguzi"
12                 };
13
14                 db.Customers.Attach(customer);
15                 db.Customers.Remove(customer);
16
17                 return db.SaveChanges();
18             }
19         }

 1         /// <summary>
 2         /// 编辑(修改)
 3         /// </summary>
 4         /// <returns></returns>
 5         static int Edit()
 6         {
 7             using (var db = new NorthwindEntities())
 8             {
 9                 var customer = db.Customers.FirstOrDefault(u => u.CustomerID == "fanguzai");
10
11                 if (customer == null)
12                 {
13                     return 0;
14                 }
15
16                 customer.ContactName = "erwuzai";
17                 return db.SaveChanges();
18             }
19         }

 1         /// <summary>
 2         /// 查询
 3         /// </summary>
 4         static Customers Query()
 5         {
 6             using (var db = new NorthwindEntities())
 7             {
 8                 var query =
 9                     db.Customers.Where(u => u.ContactName == "fanguza").OrderBy(u => u.ContactName).Take(1);
10
11                 return query.FirstOrDefault();
12             }
13         }

分页

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

批量增加

 1         static void BatchAdd()
 2         {
 3             using (var db = new NorthwindEntities())
 4             {
 5                 for (var i = 0; i < 50; i++)
 6                 {
 7                     var customer = new Customers()
 8                     {
 9                         CustomerID = "fanguzai" + i,
10                         Address = "中国",
11                         City = "广州",
12                         Phone = "13800138000" + i,
13                         CompanyName = "阳春一中",
14                         ContactName = "反骨仔" + i
15                     };
16
17                     db.Customers.Add(customer);
18                 }
19
20                 db.SaveChanges();
21             }
22         }

其它

1         public IQueryable<Customers> GetCustomerses<TKey>(Expression<Func<Customers, bool>> whereExpression,
2             Expression<Func<Customers, TKey>> orderExpression)
3         {
4             using (var db = new NorthwindEntities())
5             {
6                 return db.Customers.Where(whereExpression).OrderBy(orderExpression);
7             }
8         }
时间: 2024-10-23 10:36:17

EF 的 CURD 操作的相关文章

windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) 简单说几句 在mongodb中3元素:db(数据库).collection(集合).document(文档) 其中collection类似于数据库中的表,document类似于行,这样一来我们就将内容对比起来记忆学习了. 数据格式 MongoDB documents是BSON格式(一种类json的一种二进制形式的存

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

今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置了默认值getdate(),按说不应该为null的.于是开始测试. 字段允许Null值的情况 Users表结构如下: 假如一个字段有了默认值,并且又允许为Null,在做插入操作时会发生什么? 如上图中的表结构,CreateDate是允许为null的,而又有默认值getdate().这样在用传统SQL

php对xml文件进行CURD操作

XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: - 表达:本身就可以作为阅读文档,当然还可以使用XSLT之类的进行解析和再显示. 缺点是schema验证复杂,相比后来的json等格式,相对冗余. 下面的是利用php对xml文件进行CURD操作: xml文件的格式为: 1 <?xml version="1.0" encoding=&

thinkphp对mysql的CURD操作

利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题.配置文件写于目录application\home\conf\config.php下: <?php return array( //'配置项'=>'配置值' 'DB_TYPE'=> 'mysql',//数据库类型 'DB_HOST'=> '127.0.0.1',//服务器地址 'DB_N

mongodb 学习笔记 02 -- CURD操作

mongodb 学习笔记 02 – CURD操作 CURD代表创建(Create).更新(Update).读取(Read)和删除(Delete)操作 创建库 直接 use 库名 然后创建collection 就可以创建库 创建collecion db.createCollection("collectionName") 隐式创建collection db.collectionName.insert({xxxxxx}) 删除collection db.collectionName.dro

MongoDB安装、CURD操作、使用场景分析总结(1)

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".非关系型的数据存储 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB有数据库.集合.文档三个基本概念分别相当于关系数据库中的数据库.表.行. 一.MongoDB安装 MongoDB官网下载地址:htt

ASP.NET Cookie概念、CURD操作、原理、实际运用

会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来说,一般会话是用来识别用户的,比如你可以使用会话级变量记录当前用户已经输入的用户名密码,这样就不用他每次输入了,还可以用来记录一些其他的与当前这一次通话有关的信息.一旦你关闭了浏览 器,虽然会话没有结束,但是你重新打开浏览器时,已经不能再次利用上一次的会话了,它会新建一个会话.而服务器会根据预先的设置在超时后自动关闭会话,你也可以手动结束会话. 一.Cookie的基

dom4j解析XML的CURD操作

在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整个XML文件读到内容,形成一个倒状的树形结构. SAX是一个一个的将XML文件中的元素加载的内存,不会形成一个倒状的树形结构. 常用dom4j的api: 主要使用到SAXReader类 SAXReader:表示DOM4J解析器 saxReader.read():加载需要解析的xml文件,返回docu

一个简单的ORM制作(CURD操作类)

SQL执行类 CURD操作类 其他酱油类 此篇是为上篇文章填坑的,不知道上篇砸过来的砖头够不够,不够的话请大家继续砸. CURD操作类负责将用户提供的条件转换为SQL语句,并提供给IHelper执行,返回Model集合. CURD类需要一个接口抽象出公共方法.便于修改和扩展,提供泛型接口.为了简单起见暂时未提供JOIN的实现,可以以数据库视图替代 public interface IDbOper<T> : IDisposable where T : new() { object Insert(