Возврат BSonDocuments из службы данных WCF - PullRequest
0 голосов
/ 05 января 2012

Я использую официальный драйвер MongoDB C # и пытаюсь найти способ десериализации BSonDocument в класс.

Дело в том, что я хочу, чтобы это было универсально (без необходимости предварительного создания вручную).Мне нужно сделать это, потому что я создаю службу данных WCF с ServiceOperation, которая будет возвращать документы в моей базе данных Mongo.Возвращенные документы могут быть любыми, поэтому они не обязательно соответствуют определенной структуре класса.

К сожалению, я не могу просто вернуть список BSonDocuments, так как моя служба жалуется, что

The type 'MongoDB.Bson.BsonDocument' is not a complex type or an entity type.

Любой изВы сталкивались с подобной проблемой?Если да, что вы рекомендуете?

1 Ответ

1 голос
/ 05 января 2012

Вы можете преобразовать свой BsonDocument в строку JSON и вернуть его, а затем проанализировать его обратно на принимающей стороне.

На сервере:

var json = document.ToJson();
return json;

У клиента:

var document = BsonSerializer.Deserialize<BsonDocument>(json);
...