В базе данных я уже хранил сотни документов. Теперь архитектура системы изменилась и (среди прочего) модели были перенесены в другое пространство имен (в другой сборке).
Ниже представлены метаданные образца документа:
и код, который я использую для получения такого документа:
var configuration = documentSession.Load<One.Social.Core.Entities.Setting>("Setting");
который выдает исключение исключения:
[InvalidCastException: Unable to cast object of type 'One.QA.Core.Entities.Setting' to type 'One.Social.Core.Entities.Setting'.]
ОБНОВЛЕНИЕ:
Симистая ошибка, но из NewtonsoftJson возрастает, в то время как у меня есть коллекция указанного типа внутри дозировки, которая теперь изменилась.
В базе данных у меня есть документ Question, который содержит список ответов:
В коде тип выглядит следующим образом:
namespace One.Social.Ask.Web.Models
{
public class Question
{
public string Content { get; set; }
public IList<One.Social.Ask.Web.Models.Answer> Answers { get; set; }
}
}
Изменено пространство имен имен. Кроме того, теперь он получен из IList < > , no ICollection < > . Мне теперь не нужна метатега $type
, это должно быть:
.
Пока это список, ошибка возрастает из-за старой $type
информации:
Newtonsoft.Json.JsonSerializationException: Error resolving type specified in JSON 'System.Collections.ObjectModel.Collection`1[[One.QA.Core.Entities.Answer, One.QA.Core]], mscorlib'. ---> Newtonsoft.Json.JsonSerializationException: Could not find type 'System.Collections.ObjectModel.Collection`1[[One.QA.Core.Entities.Answer, One.QA.Core]]' in assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Каков наилучший способ переноса всех документов для отображения имен текущих типов? Есть ли встроенный механизм?
Btw: Я использую RavenDB - Build # 960