Сериализация результатов Linq непосредственно в JSON

Я разрабатываю WebService, который преобразует linq в sql db и помещает результаты в переменную VAR. Затем я хочу сериализовать результат внутри VAR в формат json с помощью сериализатора javascript (С #). Примерно так:

var sb= from p in ent.people .........
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new       System.Runtime.Serialization.Json.DataContractJsonSerializer(sb.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, sb);
string json = System.Text.Encoding.Default.GetString(ms.ToArray());

НО Я ПОЛУЧАЮ ОТВЕТ ОБ ОШИБКЕ, ПОДОБНЫЙ:

Type      'System.Data.Objects.ObjectQuery`1[<>f__AnonymousType2d`5[System.String,System.Nu llable`1[System.Int32],System.Nullable`1[System.Int32],System.Int32,System.String]]' cannot be serialized. 

Подумайте о том, чтобы пометить его атрибутом DataContractAttribute и пометить все его элементы, которые вы хотите сериализовать, с помощью атрибута DataMemberAttribute. Если тип является коллекцией, подумайте о том, чтобы пометить его атрибутом CollectionDataContractAttribute. Информацию о других поддерживаемых типах см. В документации Microsoft .NET Framework.

КАК Я МОГУ СЕРИАЛИЗИРОВАТЬ РЕЗУЛЬТАТЫ LINQ НАПРЯМУЮ В JSON ?? Большое спасибо за все ответы! Энрико

6
задан Enricosoft 18 October 2011 в 17:40
поделиться