2011-12-30 93 views

回答

2

Idsa, 它的工作方式是,當你有一個ctor和一個json時,我們嘗試將ctor參數與json屬性相匹配,看看我們是否可以使它工作。

這種行爲被內置到Json.NET

+0

真的很酷的東西:) – SiberianGuy 2012-01-01 09:41:14

-1

當您不指定一個Visual Studio會自動在IL中生成一個。

如果您指定了一個私有的無參數構造函數,那麼將不會生成默認的公有無參數構造函數。

作爲一個實驗嘗試添加一個默認沒有參數私人構造函數來測試這個理論。我會假設RavenDb可能會遇到問題。

+0

我有一個非默認的公共consructor一個實體,我看不出有RavenDb的任何問題它。我只是好奇它爲什麼如此 – SiberianGuy 2011-12-30 17:05:51

0

我相信RavenDB無法自動處理。如果我沒有弄錯,RavenDB會使用Newtonsoft JSON庫序列化爲JSON。因此,您必須爲其提供自定義解析器。

請參閱'Immutable entities'關於RavenDB FAQ,關於Raven DB Google集團this discussion的更多信息。

+0

從你提到的討論引用:「JsonSerializer 似乎只是沒有任何定製的工作原理」。所以它確實有效(我在我的應用程序中看到它)。我只是好奇它是如何實施的 – SiberianGuy 2011-12-30 17:02:02