zoukankan      html  css  js  c++  java
  • Context连接和断开的情况下的CRUD操作

    连续情况下的CRUD操作是一项相当容易的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,AutoDetectChangesEnabled为true。

    以下示例显示如何添加,更新和删除连接的场景中的实体(在上下文的范围内),而后者又将在数据库上执行insert,update和delete命令。上下文将自动检测更改并更新实体的状态。

        class Program
        {
            static void Main(string[] args)
            {
                using (var ctx = new Jason_TestEntities())
                {
                    var List = ctx.wolf_example.ToList();
                    var model = List.FirstOrDefault();
                    //修改
                    model.Name = "更新";
                    //删除
                    ctx.wolf_example.Remove(List.FirstOrDefault());
                    ctx.wolf_example.Remove(List.FirstOrDefault(x => x.Num == 20037));
                    ctx.wolf_example.Remove(List.SingleOrDefault(x=>x.Num == 20038));
                    //在数据库中执行插入,更新和删除查询
                    ctx.SaveChanges();
                }
            }
        }

    注意:如果context.Configuration.AutoDetectChangesEnabled = false,则上下文无法检测对现有实体所做的更改,因此不执行更新查询。您需要在SaveChanges()之前调用context.ChangeTracker.DetectChanges(),以便检测已编辑的实体并将其标记为“已修改”。

        class Program
        {
            static void Main(string[] args)
            {
                List<wolf_example> Listw;
                using (var ctx = new Jason_TestEntities())
                {
                    Listw = ctx.wolf_example.ToList();
                }
    
                using (var ctx1 = new Jason_TestEntities())
                {
                    var update = Listw.FirstOrDefault();
                    ctx1.wolf_example.Attach(update);
                    update.Name = "update.Name111";
                    var Entry = ctx1.Entry(update);
                    Console.WriteLine("EntityState: {0}", Entry.State);
                    Console.ReadKey();
                    ctx1.SaveChanges();
                }
            }
        }
  • 相关阅读:
    第十四周 Leetcode 315. Count of Smaller Numbers After Self(HARD) 主席树
    POJ1050 To the Max 最大子矩阵
    POJ1259 The Picnic 最大空凸包问题 DP
    POJ 3734 Blocks 矩阵递推
    POJ2686 Traveling by Stagecoach 状态压缩DP
    iOS上架ipa上传问题那些事
    深入浅出iOS事件机制
    iOS如何跳到系统设置里的各种设置界面
    坑爹的私有API
    业务层网络请求封装
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/7485377.html
Copyright © 2011-2022 走看看