导入后无法将“货币”字段添加到“实体”

时间:2012-10-29 19:48:56

标签: entity-framework dynamics-crm-2011

我们的DEV环境中创建了自定义实体。它最初有一个Currency字段,但为了简单起见,我们决定删除它并使用Float字段。导出解决方案并首次将其导入QA后,我无法再在QA中向实体添加Currency字段(并且DEV中的“leftover”transactioncurrencyid列未迁移到QA)。

主要问题是我无法删除transactioncurrencyid列,现在我的Filtered视图在DEV和QA之间有所不同,这导致依赖于Entity Framework的SharePoint BCS进程失败。

有没有办法在不重新创建实体的情况下完全删除货币字段?

计划B:有没有办法从备份中恢复实体的过去副本(在删除货币之前)并将其合并到我们目前已损坏的版本中?

计划C:任何其他想法(将EF转换为使用存储过程等)?

谢谢!

2 个答案:

答案 0 :(得分:0)

再次将实体从Dev导出到QA。 CRM将看到已添加一个列,并将其添加到QA中的实体。

编辑1

所以这是QA中的一种非托管解决方案?您应该只需通过Customize Solution界面将该字段添加到QA中的实体。

答案 1 :(得分:0)

MSFT批准的解决方案涉及手动删除:

  1. Base表中的ExchangeRate列(例如,alter ... drop column exchangerate)
  2. 引用系统表中属性GUID的行:Attribute,localizedlabel,AttributeIds(例如从tbl删除AttributeId = guid)
  3. 更改实体的视图以删除ExchangeRate列(不是已过滤的)
  4. 通过在CRM中打开ExchangeRate字段并按F11从查询字符串中提取AttributeID来完成步骤2中的GUID。