แชร์ผ่าน


กําหนดเอนทิตีและการแมปแอตทริบิวต์

คุณสามารถแมปแอตทริบิวต์ระหว่างเอนทิตีที่มีความสัมพันธ์ของเอนทิตีได้ ซึ่งช่วยให้คุณตั้งค่าเริ่มต้นสําหรับระเบียนที่สร้างขึ้นในบริบทของระเบียนอื่น ใช้เครื่องมือกําหนดเองในแอปพลิเคชันเพื่อแมปแอตทริบิวต์ ดูสร้างและแก้ไขความสัมพันธ์ของเอนทิตี: การแมปเขตข้อมูลเอนทิตี

ลักษณะการทํางานในแอปพลิเคชัน

การแมปใน Dynamics 365 Customer Engagement (ภายในองค์กร) เพิ่มความคล่องตัวในการป้อนข้อมูลเมื่อคุณสร้างเรกคอร์ดใหม่ที่เชื่อมโยงกับเรกคอร์ดอื่น เมื่อเอนทิตีมีความสัมพันธ์ของเอนทิตีกับเอนทิตีอื่น คุณสามารถสร้างบันทึกของเอนทิตีที่เกี่ยวข้องใหม่โดยใช้แท็บ สร้างที่เกี่ยวข้อง ในริบบิ้น เมื่อคุณสร้างระเบียนใหม่ในลักษณะนี้ ข้อมูลที่แมปจากระเบียนเอนทิตีหลักจะถูกคัดลอกไปยังฟอร์มสําหรับระเบียนเอนทิตีที่เกี่ยวข้องใหม่ ด้วยการแมปแอตทริบิวต์เอนทิตี ้คุณสามารถควบคุมสิ่งที่ข้อมูลถูกคัดลอกโดยการเพิ่มการทําแผนที่ใหม่ในความสัมพันธ์ระหว่างสองเอนทิตี ถ้าคุณสร้างระเบียนด้วยวิธีอื่นนอกเหนือจากมุมมองที่เกี่ยวข้องของเอนทิตี้หลัก ข้อมูลจะไม่ถูกแมป

ตัวอย่างเช่น คุณอาจต้องการตั้งค่าการแมประหว่างเขตข้อมูลที่อยู่ในบัญชีและเขตข้อมูลที่อยู่ในผู้ติดต่อ ด้วยการแมปนี้ เมื่อผู้ใช้เพิ่มผู้ติดต่อที่เชื่อมโยงกับบัญชีที่ระบุ เขตข้อมูลที่อยู่สําหรับผู้ติดต่อจะถูกเติมโดยอัตโนมัติ

คุณสามารถแมปแอตทริบิวต์หนึ่งกับแอตทริบิวต์เป้าหมายหลายรายการได้ ตัวอย่างเช่น คุณสามารถแมปข้อมูลที่อยู่ในบัญชีกับทั้งที่อยู่สําหรับเรียกเก็บเงินและที่อยู่สําหรับจัดส่งในคําสั่งซื้อ

การแมปจะถูกนําไปใช้ก่อนที่จะมีการสร้างเรกคอร์ดที่เกี่ยวข้องใหม่ ผู้ใช้สามารถทําการเปลี่ยนแปลงก่อนที่จะบันทึกระเบียนได้ การเปลี่ยนแปลงข้อมูลในเรกคอร์ดหลักในภายหลังจะไม่ถูกนําไปใช้กับเรกคอร์ดที่เกี่ยวข้อง

การใช้ข้อมูลการแมปเอนทิตีและแอตทริบิวต์

การใช้ API เว็บ

เมื่อทํางานกับ API เว็บ คุณสามารถใช้ InitializeFrom Function เพื่อสร้างระเบียนใหม่ในบริบทของระเบียนที่มีอยู่ซึ่งมีการแมปอยู่ระหว่างเอนทิตี้ได้

การตอบสนองที่ได้รับจากคําขอ InitializeFrom ประกอบด้วยค่าของแอตทริบิวต์ที่แมประหว่างเอนทิตีต้นทางและเอนทิตีเป้าหมายและ GUID ของเรกคอร์ดหลัก การแมปแอตทริบิวต์ระหว่างเอนทิตีที่มีความสัมพันธ์ของเอนทิตีจะแตกต่างกันสําหรับชุดเอนทิตีที่แตกต่างกัน และสามารถกําหนดเองได้ ดังนั้นการตอบกลับจากคําขอฟังก์ชัน InitializeFrom อาจแตกต่างกันสําหรับเอนทิตีและองค์กรที่แตกต่างกัน เมื่อการตอบสนองนี้ถูกส่งผ่านในเนื้อความของการร้องขอสร้างระเบียนใหม่ ค่าแอตทริบิวต์เหล่านี้จะถูกจําลองแบบในระเบียนใหม่ ค่าของแอตทริบิวต์แมปแบบกําหนดเองยังได้รับการตั้งค่าในระเบียนใหม่ในระหว่างกระบวนการ

Note

เมื่อต้องการตรวจสอบว่าสามารถทําแผนที่สองเอนทิตีได้หรือไม่ ให้ใช้คําขอ API เว็บต่อไปนี้:
GET [Organization URI]/api/data/v9.1/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname

สําหรับข้อมูลเพิ่มเติม ดูสร้างเอนทิตีใหม่จากเอนทิตีอื่น

การใช้บริการองค์กร

เมื่อสร้างเรกคอร์ดใหม่ในบริบทของเรกคอร์ดที่มีอยู่ซึ่งมีการแมปเกิดขึ้นระหว่างเอนทิตี้ คุณสามารถใช้ InitializeFromRequest ข้อความเพื่อกําหนดเรกคอร์ดใหม่ที่ประกอบด้วยค่าที่ระบุในการแมปได้ จากนั้นคุณสามารถใช้IOrganizationService Create วิธีการ บันทึกระเบียน ในลักษณะนี้ การทําแผนที่ใด ๆ ที่คุณกําหนดจะถูกนําไปใช้

แผนผังเอนทิตี้ที่ถูกต้องจะถูกสร้างขึ้นเมื่อมีการสร้างความสัมพันธ์เอนทิตีขึ้น ใช้ความสัมพันธ์ของ entity_map_attribute_maps เอนทิตีเพื่อดึงข้อมูลแผนที่แอตทริบิวต์สําหรับคู่ของเอนทิตีที่ระบุโดยแผนที่เอนทิตี
คุณสามารถสร้างหรืออัปเดตระเบียนแผนที่แอตทริบิวต์ ต้องเป็นไปตามข้อกําหนดต่อไปนี้สําหรับแผนที่แอตทริบิวต์:

  • ชนิด AttributeMetadata ต้องตรงกัน
  • ความยาวของเขตข้อมูลเป้าหมายต้องไม่สั้นกว่าเขตข้อมูลต้นทาง
  • รูปแบบต้องตรงกัน
  • ต้องไม่ใช้เขตข้อมูลเป้าหมายในการแมปอื่น
  • เขตข้อมูลต้นฉบับต้องมองเห็นได้บนฟอร์มเอนทิตี
  • เขตข้อมูลเป้าหมายต้องเป็นเขตข้อมูลที่ผู้ใช้สามารถป้อนข้อมูลได้
  • ไม่สามารถจับคู่ค่า ID ของที่อยู่ได้
  • แอตทริบิวต์ PartyList โดยที่ AttributeMetadataคือAttributeTypeAttributeTypeCode ไม่สามารถทําแผนที่ PartyList ได้

แอตทริบิวต์การแมปอัตโนมัติระหว่างเอนทิตี

คุณสามารถแก้ไขการแมปแอตทริบิวต์ระหว่างเอนทิตีสําหรับความสัมพันธ์ของเอนทิตีที่สนับสนุนการทําแผนที่ได้

นอกเหนือจากการสร้างแต่ละแผนที่แอตทริบิวต์ด้วยตนเอง คุณสามารถใช้ AutoMapEntity ข้อความ (การดําเนินการ AutoMapEntity หรือ AutoMapEntityRequest คลาส) เพื่อสร้างการแมปแอตทริบิวต์ชุดใหม่ได้ ข้อความนี้จะดําเนินการที่พบภายใต้ตัวเลือกเมนู สร้างการทําแผนที่ ในเมนู การดําเนินการเพิ่มเติม บนแถบเครื่องมือ ข้อความนี้จะแมปแอตทริบิวต์ทั้งหมดระหว่างสองเอนทิตีที่เกี่ยวข้องซึ่งชื่อแอตทริบิวต์และชนิดเหมือนกัน ข้อความนี้จะมีไว้เพื่อปรับปรุงประสิทธิภาพการทํางานเพื่อให้คุณไม่จําเป็นต้องเพิ่มการแมปแอตทริบิวต์ทั้งหมดด้วยตนเอง แต่คุณสามารถสร้างชุดของการทําแผนที่ที่เป็นไปได้และลดจํานวนงานด้วยตนเองเพื่อเพิ่มหรือลบการทําแผนที่แต่ละรายการเพื่อตอบสนองความต้องการของคุณ

Note

การสร้างการทําแผนที่โดยอัตโนมัติในลักษณะนี้จะลบการแมปแอตทริบิวต์ที่กําหนดไว้ก่อนหน้านี้และอาจมีการทําแผนที่ที่คุณไม่ต้องการ

เรียกใช้การแมปเอนทิตีและแอตทริบิวต์

วิธีง่ายๆ ในการดูการแมปที่สร้างขึ้นคือการใช้คิวรี FetchXML ต่อไปนี้ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้คิวรีนี้ ดูใช้ FetchXML เพื่อสร้างคิวรี


<fetch version='1.0' mapping='logical' distinct='false'>
   <entity name='entitymap'>
      <attribute name='sourceentityname'/>
      <attribute name='targetentityname'/>
      <link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
         <attribute name='sourceattributename'/>
         <attribute name='targetattributename'/>
      </link-entity>
   </entity>
 </fetch>

ดูเพิ่มเติม

ขยายแบบจําลองเมตาดาต้าสําหรับ Dynamics 365 Customer Engagement (ภายในองค์กร)
สร้างและแก้ไขความสัมพันธ์ของเอนทิตี: การแมปเขตข้อมูลของเอนทิตี