首页 > 其他分享 >eNotInDatabase,btr.AppendEntity(attNew);必须在AddNewlyCreatedDBObject前面

eNotInDatabase,btr.AppendEntity(attNew);必须在AddNewlyCreatedDBObject前面

时间:2023-04-24 16:16:37浏览次数:33  
标签:btr attNew blockId AddNewlyCreatedDBObject att AppendEntity

 

    public static void AddAttsToBlock(this ObjectId blockId, List<AttributeDefinition> atts, bool copyEntity = false)
    {
      Entity attNew;
      Database db = blockId.Database;//获取数据库对象
                                     //打开块表记录为写的状态
      BlockTableRecord btr = (BlockTableRecord)blockId.GetObject(OpenMode.ForWrite);
      //遍历属性定义对象列表
      foreach (AttributeDefinition att in atts)
      {
        attNew = att;
        if (copyEntity)
        {
          attNew = (Entity)att.Clone();
        }
        //此句必须在AddNewlyCreatedDBObject前面
        btr.AppendEntity(attNew);//为块表记录添加属性
        db.TransactionManager.AddNewlyCreatedDBObject(attNew, true);//通知事务处理
      }
      btr.DowngradeOpen();//为了安全,将块表记录的状态改为读
    }

 

标签:btr,attNew,blockId,AddNewlyCreatedDBObject,att,AppendEntity
From: https://www.cnblogs.com/swtool/p/17349843.html

相关文章

  • codeforces 267A A. Subtractions(辗转相除)
    题目链接:codeforces267A题目大意:给出一个数对,(a,b)每次用较大的减较小的,直到出现0为止,问要进行多少次操作。题目分析:大的减小的操作,可以利用取模优化过程,也就是辗转相除,商是操作次数,余数是下一段与之前较小的数继续进行操作的数,水题不做赘述。AC代码:#include<iostream>#include......
  • Git 工具 - 子模块: submodule与subtree的使用
    git日常使用中,基本都是一个项目一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,我们一般怎么做呢?比如:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。所以需要提取一个公共的类库提供给多个项目使用,但是......
  • D - Count Subtractions
    D-CountSubtractionshttps://atcoder.jp/contests/abc297/tasks/abc297_d 思路按照题目给的逻辑会超时。需要使用除法来优化算法。Code#include<iomanip>#include<bits/stdc++.h>#include<iostream>usingnamespacestd;#include<limits.h>#include<ma......
  • btrfs 创建快照
    ### 1. 创建用户存档目录btrfs subvolume snapshot /snapshot/area_user_data/1_1 /snapshot/area_user_data/${UID}### 2. 创建游戏软连接btrfs subvolume snapshot /snapshot/area_game_data/${game_id}_${game_version} /snapshot/area_user_game_data/${uid}_${ga......
  • Linux 6.3内核Btrfs性能得到提升10倍优化
    Btrfs是一种支持写入时复制(COW)的文件系统,被广泛运用于各种 ​​Linux​​ 操作系统之中,目标是取代ext3文件系统,改善ext3的限制。Btrfs是一种支持写入时复制(COW)的文......
  • delphi 再说TcxDBTreeList
    1.当我们绑定好数据库之后,默认是全部折叠的,只显示  +全部    cxDBTreeList1.Root.getFirstChild.Expand(False);//只展开第一层目录cxDBTreeList1.FullE......
  • [ARC066E] Addition and Subtraction Hard
    h3>ProblemStatementJoisinoisabouttocompeteinthefinalroundofacertainprogrammingcompetition.Inthiscontest,thereare\(N\)problems,numbered\(......
  • Linux内核红黑树1—Documentation/rbtree.txt翻译
    转自:https://www.cnblogs.com/hellokitty2/p/15362630.html1.什么是红黑树,它们有什么用?------------------------------------------------红黑树是一种自平衡二叉搜索树......
  • [LeetCode] 2357. Make Array Zero by Subtracting Equal Amounts
    Youaregivenanon-negativeintegerarray nums.Inoneoperation,youmust:Chooseapositiveinteger x suchthat x islessthanorequaltothe smalle......
  • BTrace使用
    来源《深入理解java虚拟机》书中第四章提到一个VisualVM插件,叫做BTrace,竟然可以在不改变原有代码也不停进程的基础上,在进程嵌入一段代码,获取进程中的一些方法参数和返回......