ich ein Modell haben, die wie folgt aussieht:MongoDB C# Treiber Serialisierung mit dynamischen Objekten
public class Record
{
public Record()
{
Created = DateTime.Now;
}
public string Id { get; set; }
public string ApplicationId { get; set; }
public Dictionary<string, dynamic> Values { get; set; }
public DateTime Created { get; set; }
}
, die in MongoDB die MongoDB C# Treiber verwenden gespeichert ist. Dies funktioniert gut, wenn ich Dinge wie:
{
applicationId: "52f52db8008a280f583c9ff6",
values: {
"52f9410a324e68055f39f8c0": 245234
"52f941096d82a531e700e56b": "sdfasdf"
"52fa4a96e0b2e0d4e61d0a03": "52fa4a9b91c477e367ab99e6"
}
}
aber wenn ich versuche, ein Array von Strings wie hinzuzufügen:
{
applicationId: "52f52db8008a280f583c9ff6",
values: {
"52f9410a324e68055f39f8c0": 245234
"52f941096d82a531e700e56b": "sdfasdf"
"52fa4a96e0b2e0d4e61d0a03": "52fa4a9b91c477e367ab99e6"
"52fa85ea16f04a6151e4ea51": [ "52fa85f2d2ffa4cbdcf538e8", "52fa85f205505f671f3d0d7b"]
}
}
Es gibt mir die folgende Fehlermeldung, wenn ich versuche, ein GET auf das zu tun Dokument:
An exception of type 'System.IO.FileFormatException' occurred in MongoDB.Driver.dll but was not handled in user code
Additional information: An error occurred while deserializing the Values property of class API.Models.Record.Record: Cannot create an abstract class.
wenn ich in der Datenbank suchen sie gespeichert es aber sein wirklich funky suchen:
jemand hatte keine Erfahrung mit Dynamik und Mongo?
Welche UI ist das? für Mongo ... – i3arnon
robomongo - http://robomongo.org/ – amcdnl
Auch merkt man Serialisierung nur die Hälfte des Problems ist, wäre Deserialisieren extrem hart sein, wenn nicht unmöglich. – i3arnon