我有以下代碼:添加DynamicPropertyInstance沒有標註的SalesOrderDetail爲有效
var propertyInstance = new DynamicPropertyInstance()
{
DynamicPropertyId = new EntityReference(DynamicProperty.EntityLogicalName, Guid.Parse("0ceedfcc-68b2-e711-8168-e0071b658ea1")),
ValueString = jobId.ToString(),
RegardingObjectId = line.ToEntityReference(),
};
crmContext.AddObject(dynamicPropertyInstance);
crmContext.SaveChanges();
它成功添加DynamicPropertyInstance到SalesOrderLine,但在CRM UI查看訂單時,不通過驗證(因爲它是必需的屬性)。我還沒有設法找到使這個屬性有效的方法。編輯我在UI中添加的屬性(重置值)也無法將該實例標記爲有效。通過UI 添加完全相同的屬性,將其標記爲有效。
DynamicProperty的Id是正確的,通過通過SDK加載2個實例記錄和比較屬性進行驗證。奇怪的是,當我通過SDK加載2條記錄時,我在代碼中創建的記錄的validationstatus
爲真(即使不是這樣),我在UI中創建的記錄有validationstatus
爲假,ValueString
返回null(這是錯誤的)。所有其他屬性匹配或有相關的值(如日期,對象ID等)
我可能缺少一個方法調用來重新計算實例是否有效,但我找不到任何東西文檔來支持。如果做不到這一點,這可能引發與微軟支持的情況下,在CRM