• Entity FrameWork 增删查改的本质


    之前的文章里面已经说了,EF的增删查改。那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除。。。现在来一个改进版的,增删查改。

    1.Add

     1     static void Add()
     2         {
     3             //1.创建student对象,并使用对象初始化器,初始化这个对象
     4             Studnet stu = new Studnet()
     5             {
     6                 s_Name = "古巨基",
     7                 s_Sex = "",
     8                 s_Age = 39,
     9                 c_ID = 2,
    10 
    11             };
    12 
    13             //2。将对象加入到EF,并获取当前实体的状态管理对象
    14               DbEntityEntry entry= db.Entry<Studnet>(stu);
    15             //3.设置对象的状态为Added(entry.State)
    16               entry.State = System.Data.EntityState.Added;
    17             //4.保存到数据库
    18               db.SaveChanges();
    19 
    20             //测试代码
    21             Console.WriteLine("新增成功");
    22         }
    ADD

    2.Modify

     1   /// <summary>
     2         /// 自己动手写修改(优化的修改方式,创建对象直接修改)
     3         /// </summary>
     4         static void Edit()
     5         {
     6 
     7             //1.查询出一个要修改的对象
     8             Studnet stu = new Studnet()
     9             {
    10                 //1.查询出一个要修改的数据
    11                 //数据库中有s_ID为12的数据,这句话的意思是,把s_ID=12的记录的
    12                 //名字改为“小白!!!”,性别改为“女”,年龄改为“23”
    13                 s_ID = 12,
    14                 s_Name = "小白!!!",
    15                 s_Sex = "",
    16                 s_Age = 23,
    17             };
    18 
    19             //2,把对象加入到EF容器,并获取当前实体对象的状态管理对象
    20              DbEntityEntry entry=db.Entry<Studnet>(stu);
    21             //3.设置该对象未被修改过,Unchanged.
    22              entry.State = System.Data.EntityState.Unchanged;
    23             //4.设置修改过的属性
    24              entry.Property("s_Name").IsModified = true;
    25              entry.Property("s_Sex").IsModified = true;
    26              entry.Property("s_Age").IsModified = true;
    27 
    28             //5.保存数据库
    29              db.SaveChanges();
    30 
    31             //---测试
    32              Console.WriteLine("修改成功");
    33         
    34         }
    Modify

    3Delete

     1  /// <summary>
     2         /// 删除
     3         /// </summary>
     4         static void Delete()
     5         {
     6            
     7             //1创建需要删除的对象,这里只是测试,删除Id=15的数据
     8             Studnet stu = new Studnet() { s_ID = 15};
     9            
    10             //2将对象加入到EF容器,并获取当前对象的状态管理对象
    11             DbEntityEntry<Studnet> entry= db.Entry<Studnet>(stu);
    12             
    13 
    14             //3.把对象的状态改为Deleted
    15             entry.State = System.Data.EntityState.Deleted;
    16 
    17             //4把数据保存到数据库
    18             db.SaveChanges();
    19             //测试用-----------------------
    20             Console.WriteLine("删除成功");
    21         }
    Delete
  • 相关阅读:
    Jmeter(五十)
    实践理解mysql的联合索引
    ElasticSearch---查询es集群状态、分片、索引
    Java8 函数式接口
    Java8 CompletableFuture
    java8多线程的lambda
    java线程池异步
    InputStream输入流,传输数据不完整
    RestEasy上传文件的工具类
    ElasticSearch---es之Post Filter,聚合后过滤
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/4526125.html
Copyright © 2020-2023  润新知