将元素从一个包移动到另一个包
Moving Elements from one packe to another package
我们有 Package-A 其中有 10 个 class elements.We 还有另一个 Package-B 。现在我们想通过 [= 将 Package-A 中存在的元素移动到 Package-B 15=] 这可以通过插件在 EA 中实现吗
即使将子包从包 A 移动到包 B 也是一样的
为具有 PackageB ID 的所有 class 元素设置 PackageID 属性。
类似示例代码
foreach(EA.Element classElement in PackageA.elements)
{
classElement.PackageID = packageb.PackageID :
classElement.Update();
}
这是一种无需任何脚本即可通过 SQL 立即完成的方法。
在 EA 的 SQL Scratchpad 中执行此操作。
复制剪贴板中目标包的GUID,比如{61068DDF-335B-4b29-89F8-C54A7000EF6F})
其包ID如下:
select Package_ID from t_package where ea_guid='{61068DDF-335B-4b29-89F8-C54A7000EF6F}'
在剪贴板中复制源包的 GUID,比如 {F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}。
其包ID如下:
select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}'
所以,源码包中的元素是:
select * from t_object where Package_ID=(select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}')
所以,让我们把它带到目标。
update t_object
set Package_ID=(select Package_ID from t_package where ea_guid='{61068DDF-335B-4b29-89F8-C54A7000EF6F}'
where Package_ID=(
select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}'
)
应该可以解决问题。
先备份你的模型。
对于加载项,只需获取两个 GUID 和 Repository.Execute(theSQLString).
Repository.Execute 不在文档中,但有效。
我们有 Package-A 其中有 10 个 class elements.We 还有另一个 Package-B 。现在我们想通过 [= 将 Package-A 中存在的元素移动到 Package-B 15=] 这可以通过插件在 EA 中实现吗
即使将子包从包 A 移动到包 B 也是一样的
为具有 PackageB ID 的所有 class 元素设置 PackageID 属性。
类似示例代码
foreach(EA.Element classElement in PackageA.elements)
{
classElement.PackageID = packageb.PackageID :
classElement.Update();
}
这是一种无需任何脚本即可通过 SQL 立即完成的方法。 在 EA 的 SQL Scratchpad 中执行此操作。
复制剪贴板中目标包的GUID,比如{61068DDF-335B-4b29-89F8-C54A7000EF6F})
其包ID如下:
select Package_ID from t_package where ea_guid='{61068DDF-335B-4b29-89F8-C54A7000EF6F}'
在剪贴板中复制源包的 GUID,比如 {F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}。
其包ID如下:
select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}'
所以,源码包中的元素是:
select * from t_object where Package_ID=(select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}')
所以,让我们把它带到目标。
update t_object
set Package_ID=(select Package_ID from t_package where ea_guid='{61068DDF-335B-4b29-89F8-C54A7000EF6F}'
where Package_ID=(
select Package_ID from t_package where ea_guid='{F3B52DA0-D9E9-4606-BCA0-5D211B73FBE6}'
)
应该可以解决问题。
先备份你的模型。
对于加载项,只需获取两个 GUID 和 Repository.Execute(theSQLString).
Repository.Execute 不在文档中,但有效。