2011-08-04 13 views
0

私はWCFを初めてお使いで、特定の問題に関するアドバイスを探しています。私はEnitity Frameworkを使用しており、WCFを介してJSONとしてエンティティを返却したいと考えています。しかし、私は特定の状況で特定の情報を返すことを望んでいるだけです。例えばある方法では、ユーザ名とユーザIDを返すことができます。別の例では、ユーザ名、ユーザID、電話番号を返すことができます。当初、私は多分、私がカスタムデータを返すWCF

var obj = new { username = user.UserName, userid = user.UserId }; 

ような匿名型を返すと考えていた。しかし研究した後、私はそれは良いアイデアではありませんでしたが分かりました。その後、キー値の辞書を返すのではと思った私は、そのアプローチに問題が返されるJSONです:のけれども

{"key":"username","Value":"Andrew"} 

私は

{"username":"Andrew"} 

の線に沿って何かした後、私も持っています自分のタイプを作る。プロパティを除外する方法はありますか?つまり、私のタイプにプロパティがある場合、電話は特定の状況で除外することができますか?

すべてのヘルプ/提案は非常に私はDataContractSerializerに知っ

答えて

0

を高く評価し、あなたはEmitDefaultValueを使用することができ、たとえば、あなたがのUserInfo

 

    [DataContract] 
    public class UserInfo 
    { 
     [DataMember] 
     public string UserID { get; set; } 

     [DataMember] 
     public string UserName { get; set; } 

     [DataMember(EmitDefaultValue=false)] 
     public int Age { get; set; } 

     [DataMember(EmitDefaultValue=false)] 
     public DateTime Time { get; set; } 
    } 


 

という名前の契約を持つことができ、私はEmitDefaultValueがサポートされているかどうかわかりませんJSONシリアライザで、あなた自身で試してみることができますか?

+0

今、お試しください。 – Peuge

+0

それは魅力のように機能します!答えをありがとう、他のどのよりもこのようにそれを行うより意味をなさない。 – Peuge

関連する問題