public static HierarchyId Read(BinaryReader reader) { var hid = new SqlHierarchyId(); hid.Read(reader); return(Wrap(hid)); }
public void ReadResetsNull() { SqlHierarchyId z = SqlHierarchyId.Null; z.Read(new System.IO.BinaryReader(new System.IO.MemoryStream(Convert.FromBase64String("P6T6")))); Assert.IsFalse(z.IsNull); // IsNull property should now be false }
public SqlHierarchyId GetHierarchyId(int i) { var udt = new SqlHierarchyId(); using (var strm = sqlReader.GetStream(i)) { var bytes = GetAllBytes(strm, 892); using (var ms = new MemoryStream(bytes)) using (var bReader = new BinaryReader(ms)) { var len = ms.Length; udt.Read(bReader); } } return(udt); }
public static SqlHierarchyId ToSqlHierarchyId(this byte[] value) { if (value == null) { return(SqlHierarchyId.Null); } using (var stream = new MemoryStream(value, false)) { using (var reader = new BinaryReader(stream)) { SqlHierarchyId id = SqlHierarchyId.Null; id.Read(reader); return(id); } } }
public void FailToReadFromInvalidBinaryStream() { var stream = new MemoryStream(); var writer = new BinaryWriter(stream, System.Text.Encoding.UTF8, true); var hierarchy = SqlHierarchyId.Parse(new System.Data.SqlTypes.SqlString("/1/")); hierarchy.Write(writer); //Add extra bytes after for (int i = 0; i < 10; i++) { writer.Write(i); } writer.Close(); stream.Position = 0; var reader = new BinaryReader(stream); var hierarchy2 = new SqlHierarchyId(); AssertEx.ThrowsException(() => hierarchy2.Read(reader), typeof(HierarchyIdException), "24000: SqlHierarchyId operation failed because HierarchyId object was constructed from an invalid binary string. "); }