private void FillProperties(Goods goods) { MySqlCommand cmd = this.Connection.CreateCommand(); cmd.CommandText = @"SELECT propertyname, propertyvalue, propertytype FROM t_properties WHERE goodsid = ?goodsid"; cmd.Parameters.AddWithValue("goodsid", goods.Id); MySqlDataReader reader = cmd.ExecuteReader(); List <Property> propertyList = new List <Property>(); while (reader.Read()) { string name, value, type; name = reader.GetString("propertyname"); value = reader.GetString("propertyvalue"); type = reader.GetString("propertytype"); PropertyType pType = (PropertyType)Enum.Parse(typeof(PropertyType), type); switch (pType) { case PropertyType.String: propertyList.Add(StringProperty.BuildFromString(name, value)); break; case PropertyType.Integer: propertyList.Add(StringProperty.BuildFromString(name, value)); break; default: break; } } reader.Close(); goods.Properties = propertyList; }