public override string AsText(DbGeometry geometryValue) { if (geometryValue == null) throw new ArgumentNullException("geometryValue"); var providerValue = new MySqlGeometry(); MySqlGeometry.TryParse(geometryValue.ProviderValue.ToString(), out providerValue); return providerValue.ToString(); }
public void CanTryParseGeometryValueStringWithSRIDValue() { var mysqlGeometryResult = new MySqlGeometry(0, 0); MySqlGeometry.TryParse("SRID=101;POINT (47.37 -122.21)", out mysqlGeometryResult); Assert.AreEqual("SRID=101;POINT(47.37 -122.21)", mysqlGeometryResult.ToString()); }
public void CanGetToStringFromMySqlGeometry() { MySqlGeometry v = new MySqlGeometry(47.37, -122.21); var valToString = v.ToString(); Assert.AreEqual("POINT(47.37 -122.21)", valToString); }
public void CanTryParseGeometryValueString() { MySqlGeometry v = new MySqlGeometry(0, 0); MySqlGeometry.TryParse("POINT (47.37 -122.21)", out v); Assert.AreEqual("POINT(47.37 -122.21)", v.ToString()); }
public void CanFetchGeometryAsBinary() { if (version.Major < 5) return; execSQL("DROP TABLE IF EXISTS Test"); execSQL("CREATE TABLE Test (v Geometry NOT NULL)"); MySqlGeometry v = new MySqlGeometry(47.37, -122.21); var par = new MySqlParameter("?v", MySqlDbType.Geometry); par.Value = v; MySqlCommand cmd = new MySqlCommand("INSERT INTO Test VALUES (?v)", conn); cmd.Parameters.Add(par); cmd.ExecuteNonQuery(); cmd.CommandText = "SELECT AsBinary(v) FROM Test"; using (MySqlDataReader reader = cmd.ExecuteReader()) { reader.Read(); var val = reader.GetValue(0) as Byte[]; var MyGeometry = new MySqlGeometry(MySqlDbType.Geometry, val); Assert.AreEqual("POINT(47.37 -122.21)", MyGeometry.ToString()); } }