private DbContext() { connectionStack = new Stack <DbConnection>(); RecordRepository = new DbRecordRepository(); EntityRepository = new DbEntityRepository(); RelationRepository = new DbRelationRepository(); SettingsRepository = new DbSystemSettingsRepository(); }
private EntityRecord ConvertJObjectToEntityRecord(JObject jObj, List <EqlFieldMeta> fieldMeta) { EntityRecord record = new EntityRecord(); foreach (EqlFieldMeta meta in fieldMeta) { if (meta.Field != null) { record[meta.Field.Name] = DbRecordRepository.ExtractFieldValue(jObj[meta.Field.Name], meta.Field); } else if (meta.Relation != null) { List <EntityRecord> relRecords = new List <EntityRecord>(); JArray relatedJsonRecords = jObj[meta.Name].Value <JArray>(); foreach (JObject relatedObj in relatedJsonRecords) { relRecords.Add(ConvertJObjectToEntityRecord(relatedObj, meta.Children)); } record[meta.Name] = relRecords; } } return(record); }