2011-03-12 163 views
0

我在使用RIA域服務進行數據傳輸的silverlight應用程序中使用RIA服務。我已經在更新方法,添加方法,在元數據字段上放置數據驗證屬性等方面對域服務和元數據進行了更改。WCF RIA服務域服務元數據

當我處於需要重新生成域服務的位置時由於添加了一個新表,很顯然,生成算法不會保留我的元數據屬性或其他域服務方法。有沒有什麼辦法通過Visual Studio來保存這個?有沒有更好的方法來解決這種情況?

現在我複製域服務和元數據文件,重新生成域服務和元數據,然後打開舊文件並將我的更新複製回來。這是一個PITA。

回答

0

使用部分類。您可以爲您的域服務創建部分,如MyDomainService.cs和MyDomainService.metadata.cs。

例如,在MyDomainService.metadata.cs

[MetadataTypeAttribute(typeof(Login.Login_Metadata))] 
    public partial class Login 
    { 
     internal sealed class Login_Metadata 
     { 
      public Login_Metadata() 
      { 

      } 

      [Display(Description = "Test")] 
      public string FirstName { get; set; } 
     } 
    } 
+0

我想這將域服務類本身工作,但元數據類只會得到再生,與處於局部的定義衝突我創造。我錯過了什麼嗎? – BoxerBucks 2011-03-14 14:36:20

+0

你說的是在客戶端生成的東西嗎? – 2011-03-14 15:10:25

+0

不,這是作爲域服務的一部分生成的元數據類。我有用於RIA服務元數據對象屬性的驗證屬性。當我重建域服務時,會出現複選框以在RIA服務VS對話框中生成元數據。這些會覆蓋我現有的屬性,或者如果我將它們分解爲它們自己的部分,它們將會是重複的定義。 – BoxerBucks 2011-03-14 16:26:04