2

カスタムエンティティは、DEV環境で作成されました。元々はCurrencyフィールドがありましたが、簡単にするために削除してFloatフィールドを使用することにしました。ソリューションをエクスポートしてQAに初めてインポートした後、QAのエンティティにCurrencyフィールドを追加できなくなりました(DEVの「残りの」transactioncurrencyid列がQAに移行されませんでした)。

主な問題は、transactioncurrencyid列を削除できず、フィルター処理されたビューがDEVとQAで異なるため、EntityFrameworkに依存するSharePointBCSプロセスが失敗することです。

エンティティを再作成せずに通貨フィールドを完全に削除する方法はありますか?

プランB:(通貨を削除する前に)エンティティの過去のコピーをバックアップから復元し、現在壊れているバージョンにマージする方法はありますか?

プランC:他のアイデア(ストアドプロシージャを使用するようにEFを変換するなど)はありますか?

ありがとう!

4

2 に答える 2

0

エンティティをDevからQAに再度エクスポートします。CRMは、列が追加されたことを確認し、QAのエンティティに追加します。

編集1

では、これはQAの管理されていないソリューションですか?ソリューションのカスタマイズインターフェイスを使用して、QAのエンティティにフィールドを追加できるはずです。

于 2012-10-30T13:01:18.663 に答える
0

MSFTが承認したソリューションでは、以下を手動で削除しました。

  1. ベーステーブルのExchangeRate列(例:alter ... drop column exchangerate)
  2. システムテーブル内の属性のGUIDを参照する行:Attribute、localizedlabel、AttributeIds(たとえば、AttributeId = guidの場合はtblから削除)
  3. エンティティのビューを変更してExchangeRate列(フィルター処理されていない)を削除する

手順2でGUIDを見つけるには、CRMでExchangeRateフィールドを開き、F11キーを押してクエリ文字列からAttributeIDを抽出します。

于 2012-11-01T02:22:10.547 に答える