axapta - 关于导入手动创建的数据实体的几个问题
问题描述
我使用数据实体创建向导并选择 Reqplan 表作为主要数据源,然后手动添加 ReqPlanVersion、ReqPO、ReqTrans 表作为附加数据源并创建以下关系。
至于数据实体字段,我从三个手动添加的表中手动拖动字段子集。
Q1。过去,对于其他一些实体,我已将这些字段上的“允许在创建时编辑”从“自动”更改为“是”,并且它已经奏效,但我不确定这是否是唯一方法还是遵循最佳实践?另外,在导入期间字段是否可编辑的决定因素是什么,因为它们都在 AUTO 上?
当我尝试通过绘制映射线手动将源映射到暂存时,我遇到以下问题:
Q2。配置密钥发生了什么?是因为我手动从其他数据源中拖动了字段,但没有使用数据实体创建向导吗?
Q3:有没有办法找出它指的是哪个唯一键?它是在谈论我的数据实体中的 EntityKey 还是临时表中的索引?在任何一种情况下,都有不止一个,所以我不确定它指的是什么?
提前致谢。
解决方案
来自社区论坛的回应:
1)检查表本身的allowEdit属性,所以如果它是“否”,那么自动意味着“否”。如果您想通过数据实体更新它们,则必须强制它们为“是”
2)与手动添加无关,只是说实体中使用的表禁用了配置键,因此您无法向其中导出或导入数据,但是这些表可以通过向导添加或手动添加,没关系。此外,配置键也可以在字段上或这些字段使用的 EDT 上,请检查它们。
3)实体有密钥节点,在那里你有向导为你生成的密钥。框架使用它来了解是否应该更新或创建记录,如果它不适合您,请在数据实体上更改它并重新生成暂存。您需要刷新暂存,因为您得到的错误是 SQL 错误,在此阶段 SSIS 将数据从文件传输到暂存表,并且由于索引过度而无法复制数据,因此请检查暂存表索引并查看您的文件是否有任何重复.
推荐阅读
- python - 无法通过 ssh-tunnel 使用 ftplib 上传文件
- oracle - 在 APEX 的 SQL 命令中创建使用 APEX_JSON 的过程时,从 ORDS 返回错误 500
- vue.js - 如何修复块加载失败?
- node.js - @babel import _Object$defineProperty from "../../core-js/object/define-property" 的问题;
- jquery - 粘性导航栏未正确定位
- c++ - 确认在 TWS c++ API 中是否至关重要
- c# - 动态网络的最佳方法是什么?
- c# - 有没有办法将一个方法传递给 c# 中的另一个方法,最好的方法是什么?
- oop - 定义了 getter 和 setter 且没有后备变量的变量叫什么?
- javascript - JavaScript:我传入了一个列表,试图访问一个索引,它说变量未定义