protected override Geometry ToGeometry(object value) { var bytes = value as byte[]; if (bytes == null || bytes.Length == 0) { return(null); } var reader = new SqlServerBytesReader { IsGeography = IsGeography }; var geometry = reader.Read(bytes); SetDefaultSRID(geometry); return(geometry); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public GeometryValueConverter(SqlServerBytesReader reader, SqlServerBytesWriter writer) : base( g => new SqlBytes(writer.Write(g)), b => (TGeometry)reader.Read(b.Value)) { }
/// <summary> /// Parse a database value back to a typed value. /// </summary> /// <param name="value"></param> /// <returns></returns> public override T Parse(object value) => (T)_reader.Read((byte[])value);