ขณะนี้เรามีบริการ WCF หลายอย่างที่เปิดเผยโมเดลโดเมนของเราโดยตรงผ่านสาย กล่าวอีกนัยหนึ่ง เราไม่มีเลเยอร์ของ DTO ที่จะแมประหว่างโดเมนและเลเยอร์บริการของเรา ฉันไม่มีทางเลือกนอกจากตกแต่งออบเจ็กต์โดเมนของเราโดยตรงด้วย [DataContract] และ [DataMember] ฉันต้องการใช้ IExtensibleDataObject กับออบเจ็กต์โดเมนทั้งหมดของเราที่เปิดเผยบนเส้นลวด ไม่มีใครเห็นสิ่งผิดปกติในการใช้ IExtensibleDataObject บนคลาสพื้นฐานหรือไม่ ดังนั้นฉันจะมี:
[DataContract]
public EntityBase:IExtensibleDataObject{///IExtensibleDataObject Impl}
[DataContract]
public Person:EntityBase{}
[DataContract]
public Employee:Person{}
ขอบคุณล่วงหน้า