Dream Factory .NET SDK Post records Уникальная ошибка целостности
В.NET SDK ваш метод создания записи передает 0 для идентификатора для всех записей, поскольку это неизвестно, пока ответ не вернется с заполненным идентификатором и т. Д.
Кажется, что JSON DefaultValueHandling = DefaultValueHandling.Ignore не работает на только что созданных int '0' идентификаторах
Поэтому тело имеет идентификатор:0 и пытается вставить записи с идентификатором:0 для всех и отключает ограничение Уникальность для внутреннего исключения в fiddler.
1 ответ
У меня была похожая проблема с DreamFactory
В качестве примера я добавил условный атрибут сериализации свойств в Poco/DTO для штатного расписания.
внутренний класс StaffRecord {
public bool ShouldSerializeUid()
{
return Uid != 0;
}
public int Uid { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public bool Active { get; set; }
public override string ToString()
{
return string.Format("{0}: name = {1} {2}, age = {3}, active = {4}", Uid, FirstName, LastName, Age, Active);
}
}
Теперь это работает, как и ожидалось, при сериализации / десериализации
Вот документы в Сериализации Условных Свойств документов JSON.NET
Ура:D