Master Data Server API 更新 Member 內置字段(Code、Name)

今天在用MDS API寫程序的時候發現了一個很讓人困擾的問題,在更新成員內置字段(如:代碼、名稱)的時候,最開始我打算採用如下代碼來進行:

individualMember.MemberId = new MDService.MemberIdentifier() { Code = "要更新的值", Name = "要更新的值"};


我想一般正常人都會用這種方法吧,設置Member成員的Identifier,將它的內置字段Name重新賦值達到更新的效果,但是很遺憾的告訴你,這種方法是不行的!雖然你成功設置了這個Member的Identifier,但是提交更新後它卻不更新,並且也沒有出錯,而且更遺憾的告訴你,研究了很久都不知道是爲什麼不行!

嘗試了很多種方法,最後終於找到了一個偏方,能夠成功更新內置字段Name,其代碼如下:

individualMember.Attributes = new Collection<MDService.Attribute>() { new MDS.MDService.Attribute() { Identifier = new Identifier() { Name = "Name" }, Value = "要更新的值" } };

 

竟然是通過Member的屬性來更新內置字段Name,在做更新之前,我跟蹤了這個Member對象,看到它裏面已經有了2個Attributes,這是理所當然的,這2個Attributes是我們在MDS UI裏面設置的,但是我在其中並沒有發現包含Name這個內置字段,奇蹟發生了,用更新屬性的方法竟然可以更新成功,不知道它是怎麼從Attributes裏面找到Name這個字段的,真是百思不得其解啊!~若有哪位大俠知道原因,煩勞在這裏給掃掃盲哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章