Example #1
0
        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);
        }
Example #2
0
 /// <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))
 {
 }
Example #3
0
 /// <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);