Более простой альтернативой для решения этой проблемы является возврат строки и форматирование этой строки в json с помощью JavaScriptSerializer.
public string GetEntityInJson()
{
JavaScriptSerializer j = new JavaScriptSerializer();
var entityList = dataContext.Entitites.Select(x => new { ID = x.ID, AnotherAttribute = x.AnotherAttribute });
return j.Serialize(entityList );
}
Очень важна часть «Выбор», которая выбирает свойства, которые вы хотите видеть. У некоторого объекта есть ссылка на родителя. Если вы не выберете атрибуты, может появиться циклическая ссылка, если вы просто возьмете таблицы в целом.
Не делайте этого:
public string GetEntityInJson()
{
JavaScriptSerializer j = new JavaScriptSerializer();
var entityList = dataContext.Entitites.toList();
return j.Serialize(entityList );
}
Сделайте это вместо этого, если вы не хотите всю таблицу:
public string GetEntityInJson()
{
JavaScriptSerializer j = new JavaScriptSerializer();
var entityList = dataContext.Entitites.Select(x => new { ID = x.ID, AnotherAttribute = x.AnotherAttribute });
return j.Serialize(entityList );
}
Это помогает визуализировать представление с меньшим количеством данных, просто с необходимыми атрибутами, и ускоряет работу сети.