Я пытаюсь вставить тип DBGeography
через ado.net, но безуспешно.
Я получаю следующие ошибки:
Отсутствует сопоставление типа объекта System.Data.Entity.Spatial.DbGeography с собственным типом известного управляемого поставщика.
or:
Указанный тип не зарегистрирован на целевом сервере.
Вот что я делаю, когда получаю его из БД, и это отлично работает:
dynamic temp = reader.GetValue(3);
var text = string.Format("POINT({0:R} {1:R})", temp.Long, temp.Lat);
var srid = temp.STSrid.Value;
this.Coordinates = System.Data.Entity.Spatial.DbGeography.PointFromText(text, srid);
Но вставка не работает:
updateCommand.Parameters.AddWithValue("@Coordinates", store.Coordinates);
// or ...
SqlParameter p = new SqlParameter();
p.ParameterName = "@Coordinates";
p.Value = store.Coordinates;
p.SqlDbType = System.Data.SqlDbType.Udt;
p.UdtTypeName = "geography";
updateCommand.Parameters.Add(p);
Что здесь не так?
Specified type is not registered on the target server.Microsoft.SqlServer.Types.SqlGeography
command.Parameters.Add(new SqlParameter("@deviceGeolocation", SqlDbType.Udt) { UdtTypeName = "Geography", Value = geo, });
здесь - person Shailendra   schedule 05.10.2020