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         }

 

posted @   反骨仔  阅读(1008)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示