2016-05-02 10 views
0

DocumentDbは、インターフェイスであるドキュメントのプロパティを正しく保存し、水和するのに十分なスマートですか? MongoDbは、サーバー上のドキュメント内のフィールドに型を格納することで、これを美しく処理します。DocumentDBのインターフェイスのプロパティ

public class Customer 
{ 
    public string Name{get;set;} 

    // Does this work correctly when saving and retrieving? 
    public IPolicy Policy{get;set;} 
} 

public interface IPolicy 
{ 
    decimal Rate{get;set;} 
} 

public MagicPolicy : IPolicy 
{ 
    public decimal Rate{get;set;} 
} 

public SuperPolicy : IPolicy 
{ 
    public decimal Rate{get;set;} 
    public string ImAnExtraProperty{get;set;} 
} 

答えて

1

答えははいです!しかし、箱から出てくるわけではありません。それはNewtonsoft.Jsonを使用してシリアル化します。したがって、シリアライザの設定を調整することで、魔法を実現させることができます:

JsonConvert.DefaultSettings =() => 
{ 
    return new JsonSerializerSettings() 
    { 
     TypeNameHandling = TypeNameHandling.Auto 
    }; 
}; 
関連する問題