• [AX]AX2012开发新特性表继承


    表继承是AX2012新引进的功能,AX2009是不支持的。表继承表示一个表可以继承另一个表的字段和方法,称为衍生表,和通过外键关联的父表/子表是不相关的。

    使用表继承首先要有一个基表,设置基表的属性SupportInheritance为yes允许可以从这个表继承,注意这时候表内不能有字段(这个限制有点让人吐槽啊,一开始就要确定表是否要支持继承被继承)。在设置SupportInheritance可能弹出个错误“Preperty InstanceRelationType must be set to an Int64 field for root table”,这是因为基表需要一个Int64的字段来匹配基表的纪录到衍生表,需要做的是在基表中新建一个Int64类型的字段,把基表的InstanceRelationType属性设为这个字段,这个字段纪录的是纪录衍生表的tableid。接下来就可以在基表中添加字段了。

    同样,创建一个衍生表,SupportInheritance也要设置为yes,基表的Extends属性选择基表。在衍生表中可以继续添加自己的字段了。

    在衍生表中插入纪录时,系统自动在基表中插入相应纪录,基表衍生表纪录的recid是相同的,基表的InstanceRelationType属性字段纪录衍生表的tableid,查看SQL数据库可以看到衍生表中是不包含基表的字段的,在AX中查询衍生表时系统通过recid和衍生表tableid自动获取衍生纪录在基表中的数据。

    删除基表的纪录会同时删除衍生表的纪录,同样删除基表的纪录也会自动级联删除相应衍生表的纪录,这点和通过外键链接删除子表的纪录不会删除主表纪录是不一样的。

    更多内容参见MSDN:http://msdn.microsoft.com/en-us/library/gg844024.aspx

  • 相关阅读:
    Windows系统之间文件互传
    PHP MySQL -2021.01.30
    Python MySQL
    [转载]python之函数的使用及异常处理2021.1.30
    python之文件操作
    Python学习-2021.1.28
    [转载]Metasploit漏洞攻击
    [转载]使用命令给windows用户提权
    [转载]nmap的使用
    Windows和Linux简单命令的总结
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2637678.html
Copyright © 2020-2023  润新知