簡體   English   中英

Commerce Server 2007 OrderObjectMappings定義錯誤

[英]Commerce Server 2007 OrderObjectMappings definition error

我正在向我的PurchaseOrder對象添加3個新屬性,並經歷了將3個新列添加到數據庫表,更新PurchaseOrder類以及最后OrderObjectMappings.xml文件的過程,以確保該類中的屬性正確映射到數據庫。 一切似乎正確,但是當商務服務器嘗試映射時,出現以下錯誤:

[MappedClassDataMismatchException:表PurchaseOrders列ConcessionOrder與映射中定義的預期列名MarshalledData不匹配。
Microsoft.CommerceServer.Runtime.Orders.POLoader.LoadFromDataSetHelper(DataSet dataSet,ClassInfo [] dependencyClassList,Int32 depClassListLen,Hashtable [] depInstanceLookup,BinaryFormatter formatter,String filter)+3406
Microsoft.CommerceServer.Runtime.Orders.POLoader.LoadFromDataSet(數據集dataSet,OrderGroupCollection ogColl)+1080
Microsoft.CommerceServer.Runtime.Orders.POLoader.LoadSearchSet(Guid searchSetId,OrderGroupCollection ogc)+388
Microsoft.CommerceServer.Runtime.Orders.POLoader.Load(字符串storedProcName,ListDictionary sqlParameters)+458
Microsoft.CommerceServer.Runtime.Orders.OrderContext.GetPurchaseOrdersForUser(Guid用戶ID)+352

ConcessionOrder是我的新屬性之一,並且正確顯示在xml文件中。 有誰知道發生這種情況的任何明顯原因,也許是我錯過的東西,或者其他地方的情況?

干杯,約翰

您可能要檢查是否已更新OrderObjectMappings.xml中的所有位置

例如在這個節點

<ClassTableMap Class="PurchaseOrder" Table="PurchaseOrders">

其中一個

<PropertyMap ... /> 

線可能是錯的?

OrderObjectMapping.xml文件的StorageMap根元素具有3個子元素,這些子元素處理表與類之間以及表列與類屬性之間的映射。

表節點

Tables元素將每個子Table元素映射到一個物理數據庫表。 每個子Column元素都映射到一個物理數據庫字段。

班級節點

Classes元素包含與每個Commerce Server 2007 API類相對應的子Class元素。 現成的屬性和您對屬性列表的擴展都作為子Property元素存在。

映射節點

Mappings元素負責將Tables元素中的每個子Table元素映射到Classes元素的子Class元素。 該元素驅動物理數據庫表及其列到該類的類和子屬性的映射。

為了擴展OrderObjectMapping.xml文件中的PurchaseOrder設置以包括新的“ ConcessionOrder ”屬性,您的文件將需要包含對TablesClasssMappings元素的修改,如下所示。

注意:我假設您正在使用位字段來建模布爾ConcessionOrder屬性...

在此處輸入圖片說明

暫無
暫無

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

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