2011-02-15 180 views

回答

2

DataKeyProperty沒有被WCF數據服務使用,它是無關的(注意它在不同的命名空間中)。

DataServiceEntity僅用於WCF數據服務客戶端庫。任何具有此屬性的類都將被視爲實體類型。如果您希望將查詢結果實現到客戶端類,而客戶端類沒有關鍵屬性,這可能很有用。

DataServiceKey由客戶端和服務器庫使用。它指定了關鍵屬性的名稱。任何具有此屬性的類都被視爲實體類型。這是一直使用的屬性。它也是由VS中的code-gen和命令行工具生成的。簡而言之,如果你定義了一個應該代表一個實體的類(不管它是否在服務器或客戶端上),你應該在其上添加DataServiceKey屬性並列出屬性構造函數中的所有關鍵屬性。

(這是可能的類定義爲實體沒有屬性,但隨後的運行時使用啓發式識別實體類,所以除非你真的需要100%POCO它更好地使用屬性。)