static string GetType(ValueDb item) { if (item.IsNumber()) { return(DbNames.TNumeric); } if (item.IsVarChar()) { return(DbNames.TString); } if (item.IsDateTime()) { return(DbNames.TDateTime); } if (item.IsBlob()) { return(DbNames.TBlob); } throw new Exception($"{item.ValueType} is unsupported."); }
IEnumerable <ValueDb> ReadValues(DbDataReader reader, string objectId) { while (reader.Read()) { ValueDb.ValueTypeE valueType; if (Enum.TryParse(GetStringValue(reader, DbNames.FValueType), out valueType)) { var item = new ValueDb() { Id = GetStringValue(reader, DbNames.FId), ObjectId = objectId, ValueType = valueType }; var ordinal = reader.GetOrdinal(DbNames.FValue); item.Value = ReadValue(reader, ordinal, valueType); yield return(item); } } }