私たちは10のクラス要素を持つパッケージAを持っています。別のパッケージBを持っています。次に、パッケージAにある要素をパッケージAにアドインで移動します。これはどのようであっても、パッケージ-Bにパッケージ-Aからサブパッケージを移動するためのアドインあるパッケージから別のパッケージへの要素の移動
を通じてEAに達成することができ、同じことがPackageB IDを持つすべてのクラス要素のためのPackageIDプロパティを設定し
私たちは10のクラス要素を持つパッケージAを持っています。別のパッケージBを持っています。次に、パッケージAにある要素をパッケージAにアドインで移動します。これはどのようであっても、パッケージ-Bにパッケージ-Aからサブパッケージを移動するためのアドインあるパッケージから別のパッケージへの要素の移動
を通じてEAに達成することができ、同じことがPackageB IDを持つすべてのクラス要素のためのPackageIDプロパティを設定し
の作品です。ここで
サンプルコードsomethinglike
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}'
)
このトリックを行う必要があります。
最初にモデルをバックアップしてください。
アドインの場合は、2つのGUIDとRepository.Execute(theSQLString)を取得するだけです。
Repository.Executeはドキュメントにはありませんが、動作します。
[EAアドインを含むパッケージ間に存在する要素をc#で移動する方法](http://stackoverflow.com/questions/28819597/how-to-move-exisiting-elements-between-packages-with -an-ea-addin-in-c) – Uffe