zoukankan      html  css  js  c++  java
  • EF+linq的增删改查

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //创建数据库实体
                ModelStudentContainer DemoDB = new ModelStudentContainer();
    
                #region 增加数据
    
                ////创建具体实体(表中一行)
                //Student stu1 = new Student()
                //{
                //    ID = 1,
                //    Name = "张飞",
                //    Age = 20
                //};
                //Student stu2 = new Student()
                //{
                //    ID = 2,
                //    Name = "关羽",
                //    Age = 21
                //};
                //Student stu3 = new Student()
                //{
                //    ID = 3,
                //    Name = "赵云",
                //    Age = 22
                //};
                //Student stu4 = new Student()
                //{
                //    ID = 4,
                //    Name = "刘备",
                //    Age = 23
                //};
                //Student stu5 = new Student()
                //{
                //    ID = 5,
                //    Name = "刘表",
                //    Age = 24
                //};
                //Student stu6 = new Student()
                //{
                //    ID = 6,
                //    Name = "刘禅",
                //    Age = 25
                //};
    
                ////将实体stu添加到数据库实体对象中
                //DemoDB.Student.AddObject(stu1);
                //DemoDB.Student.AddObject(stu2);
                //DemoDB.Student.AddObject(stu3);
                //DemoDB.Student.AddObject(stu4);
                //DemoDB.Student.AddObject(stu5);
                //DemoDB.Student.AddObject(stu6);
    
                ////保存对数据库的修改
                //DemoDB.SaveChanges();
    
                #endregion
    
                #region 查询1:一般查询,查询所有数据
    
                //var result = from u in DemoDB.Student
                //             select u;
    
                //foreach (var item in result)
                //{
                //    Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
                //}
    
                #endregion
    
                #region 查询2:使用ToList防止延迟加载,拆分子查询
    
                ////这个查询结果可以保存到服务器内存中
                //var result1 = (from u in DemoDB.Student
                //               where u.Age >= 22
                //               select u).ToList<Student>();
    
                //var result2 = from u in result1
                //              where u.Name != "赵云"
                //              select u;
    
                //foreach (var item in result2)
                //{
                //    Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
                //}
    
                #endregion
    
                #region 查询3:使用Where方法(lambda表达式)
    
                ////使用了Where泛型方法,要传入一个lambda表达式
                //var result = DemoDB.Student
                //    .Where<Student>(t => t.ID == 1);
    
                //foreach (var item in result)
                //{
                //    Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
                //}
    
                #endregion
    
                #region 查询4:Linq分页查询
    
                ////要跳过多少页
                //int skipPage;
                ////每页两条数据
                //int countPerPage=2;
    
                ////从跳过0页到跳过2页(输出第1-3页)
                //for (skipPage = 0; skipPage <= 2; skipPage++)
                //{
                //    var result = DemoDB.Student
                ////分页必须排序
                //        .OrderBy(t => t.ID)
                ////跳过指定页数
                //        .Skip<Student>(skipPage * countPerPage)
                ////获取条数
                //        .Take<Student>(countPerPage);
    
                //    Console.WriteLine("第{0}页:", skipPage + 1);
                ////输出查询结果(该页)
                //    foreach (var item in result)
                //    {
                //        Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
                //    }
    
                //    Console.WriteLine();
                //}
    
                #endregion
    
                #region 查询5:使用匿名类查询多个字段
    
                //var result = from p in DemoDB.Student
                //             where p.ID < 4
                ////定义一个包含了ID和Name信息的匿名类
                //             select new { p.ID, p.Name };
    
                //foreach (var item in result)
                //{
                ////这里无法输出年龄
                //    Console.WriteLine("ID:{0},姓名:{1}。", item.ID, item.Name);
                //}
    
                #endregion
    
                #region 修改1:修改1条记录
    
                ////这里没有写where字句,会查询出4条记录
                //var result = from u in DemoDB.Student
                //             select u;
    
                ////但是这个方法一次只能取出一条记录
                ////注:First方法如果返回空值则抛异常
                //var target = result.FirstOrDefault<Student>();
                ////所以只修改了查询结果集中的第一条记录
                //target.Name = "司马懿";
    
                //DemoDB.SaveChanges();
    
                #endregion
    
                #region 修改2:修改多条记录
    
                //var result = from u in DemoDB.Student
                //             select u;
    
                ////使用循环方式,修改所有查询到的记录
                //foreach (var item in result)
                //{
                //    item.Age = 10;
                //}
    
                //DemoDB.SaveChanges();
    
                #endregion
    
                #region 删除
    
                //var result = from u in DemoDB.Student
                //             where u.Name == "关羽"
                //             select u;
    
                ////删除所有查询结果(这里只有一条结果)
                //foreach (var item in result)
                //{
                //    DemoDB.Student.DeleteObject(item);
                //}
    
                //DemoDB.SaveChanges();
    
                #endregion
    
                Console.WriteLine("执行完毕!");
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    PVLAN 简介
    SFP光模块与SFP+、XFP、QSFP、GBIC、BIDI的区别
    IP防护等级简介
    工业交换机和普通交换机的区别
    博客园 添加 “返回顶部” 按钮
    Linux SHELL中sh和bash的区别
    vpshere6 ESXI 禁止登陆 "执行此操作的权限被拒绝"
    python icmpdnshttp监控网络各个节点状态,并记录日志
    Python Threading问题:TypeError in Threading. function takes 1 positional argument but 100 were given
    django信号
  • 原文地址:https://www.cnblogs.com/llcdbk/p/5343949.html
Copyright © 2011-2022 走看看