Я использовал объекты Linq-to-SQL в своем веб-приложении. Мои базовые и унаследованные классы выглядят так:
//Base Class: this will define the attributes that is auto-generated
//when using Linq-2-SQL ORM. Note this class is a partial class
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Categories")]
[global::System.Runtime.Serialization.DataContractAttribute()]
public partial class Category : INotifyPropertyChanging, INotifyPropertyChanged
//Inherited Class:
[Serializable]
public class CategoryEntity : Category
{
private int _ActiveAdsCount;
public int ActiveAdsCount
{
get
{
return _ActiveAdsCount;
}
set
{
_ActiveAdsCount = value;
}
}
public int DisplaySequence { get; set; }
}
при сериализации, JSON OUTPUT (обратите внимание на значения ActiveAdsCount и DisplaySequence):
[{ "ActiveAdsCount": 3429, "DisplaySequence": 99, "CategoryID": 636, "ParentCategoryID": 635, "CategoryName": "propForRent", "CategoryImageFN": нулевой}]
Когда я вызываю метод объекта десериализации
result = JsonConvert.DeserializeObject<T>(responseText);
где T - список
Результат: он показывает, что «ActiveAdsCount» и «DisplaySequence» имеют 0 значений, в то время как json показывает правильную правильную информацию, поступающую из базы данных. Итак, проблема в десериализации.
Я использую версию Newtonsoft.Json.dll версии 4.5.1 .Net 4.0 framework