У меня есть объект C #, который содержит свойство TimeZoneInfo
.Я могу сохранить его в MongoDB.Но когда я возвращаю его обратно, оно становится пустым.Все остальные свойства отображаются правильно.
Моя DTO
структура выглядит следующим образом;есть и другие вещи, но я упомянул только несколько свойств:
public class TerminalDto
{
public string Code { get; set; }
public GeographyDto Geography { get; set; }
public GeoCoordinateDto GeoCoordinate { get; set; }
public TimeZoneInfo TimeZone { get; set; }
}
Мой монго-документ хранится как:
{
"_id": "5bc4601d5d46855e6c8a337b",
"Code": "AK",
"Geography": {
"City": "Akron",
"State": {
"Name": "OHIO",
"Code": "OH"
}
},
"GeoCoordinate": {
"Latitude": "40.97665",
"Longitude": "-81.464607"
},
"TimeZone": {
"_id": "Eastern"
}
}
Когда я читаю его обратно, мой DTO
свойства заполнены, за исключением TimeZone info
.
{
"_id": "5bc4601d5d46855e6c8a337b",
"Code": "AK",
"Geography": {
"City": "Akron",
"State": {
"Name": "OHIO",
"Code": "OH"
}
},
"GeoCoordinate": {
"Latitude": "40.97665",
"Longitude": "-81.464607"
},
"TimeZone": {} // Empty Here
}
Мой терминал-репозиторий выглядит примерно так:
public class TerminalRepository
{
public TerminalRepository(IMongoConnectionFactory mongoConnectionFactory)
{
this.collection = mongoConnectionFactory.GetCollection<TerminalDto>();
}
private readonly IMongoCollection<TerminalDto> collection;
public async Task<IEnumerable<TerminalDto>> GetTerminals(int scenarioId)
{
var filter = Builders<TerminalDto>.Filter.Eq(t => t.ScenarioId, scenarioId);
var dtos = (await this.collection.FindAsync(filter)).ToList();
}
}
Я пытался искать в официальной документации MongoDB, но не смог найти никакой информации, связанной сна хранение TimeZoneInfo
.
Как мне это решить?