簡體   English   中英

保存模型時的 EMF 懸空參考

[英]EMF dangling reference when I save my model

我已經用 EMF 創建了一個模型,我希望能夠使用編輯器保存我的模型並在以后打開它。 例如,假設我的模型有 3 個類:A、B、C 和 R。R 是根父級。 類 C 有一個對 A 的引用,一個對 B 的引用。當我編輯我的模型時,一切正常。 但是如果我想將我的文件保存到另一個位置,我可以打開它,但我不能再保存它,而不會收到一條錯誤消息,告訴我我的 C 對象中的引用是懸空引用。 保存時的 xml 文件如下所示,供我參考:

<refToA ="//@CompElement.0/@composit/@parts.0">

我試圖在我的 ecore 文件中將 containsable 設置為 true。 懸空引用消失,但在保存后,如果我觸摸 B 的屬性,則更改不適用於引用,因為現在我有兩個 B 對象。

我怎樣才能正確地做一個參考並保存它?

我的模型有 3 個類:A、B、C 和 R

你的意思是你的元模型有 3 個 EClasses/元類 A、B、C 和 R。

R 是根父級

您模型的根元素屬於 R 類型。A、B 和 C 是如何包含的?

當我編輯模型時,一切正常。 但是如果我想把我的文件保存到另一個位置,我可以打開它但我不能再保存它了

我懷疑簡單地將您的資源保存到某個位置或其他位置是否會對您的模型產生重大影響。 您如何編輯它並將其保存到另一個位置?

我找到了解決方案。 在我的 XMI 文件模型中保存如下:

<R>
  <C refA... refB...>
  <\C>
  <A><\A>
  <B><\B>
<\R>

保存 A 和 B 對象后需要放置引用,如下所示:

<R>
  <A><\A>
  <B><\B>
  <C refA... refB...>
  <\C>
<\R>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM