It took me some time to get this to work. The problem is that
SqlGeography
C# type, which corresponds to
Geography
SQL type, is considered an user-defined type (UDT) by the .net SQL library.
So, the proper way to insert or update a Geography field is something like this:
SqlGeography geo =
using (SqlCommand command =
new SqlCommand(@"UPDATE Points SET Point=@Point WHERE FeatureID='9999'", connection))
command.Parameters.Add(new SqlParameter("@Point", geo) { UdtTypeName = "Geography" });
command.ExecuteNonQuery();
}