public void CustomSerializerWorksWithTVPs() { DbSerializationRule.Serialize <EncodedInt>(new EncodedTypeSerializer()); var e = new EncodedInt() { Encoded = "Two" }; var o = new TestWithSerializedObject() { Encoded = e }; var data = new List <TestWithSerializedObject>() { o }; try { Connection().ExecuteSql("CREATE TYPE TestTableWithEncodedInt AS TABLE (Encoded int)"); using (var c = Connection().OpenWithTransaction()) { c.ExecuteSql("CREATE PROC TestEncoded(@Encoded [TestTableWithEncodedInt] READONLY) AS SELECT * FROM @Encoded"); var e2 = c.Query <TestWithSerializedObject>("TestEncoded", new { Encoded = data }).First(); Assert.AreEqual(e.Encoded, e2.Encoded.Encoded); } } finally { Connection().ExecuteSql("DROP TYPE TestTableWithEncodedInt"); } }
public void CustomSerializerWorksWithTVPs() { DbSerializationRule.Serialize<EncodedInt>(new EncodedTypeSerializer()); var e = new EncodedInt() { Encoded = "Two" }; var o = new TestWithSerializedObject() { Encoded = e }; var data = new List<TestWithSerializedObject>() { o }; try { Connection().ExecuteSql("CREATE TYPE TestTableWithEncodedInt AS TABLE (Encoded int)"); using (var c = Connection().OpenWithTransaction()) { c.ExecuteSql("CREATE PROC TestEncoded(@Encoded [TestTableWithEncodedInt] READONLY) AS SELECT * FROM @Encoded"); var e2 = c.Query<TestWithSerializedObject>("TestEncoded", new { Encoded = data }).First(); Assert.AreEqual(e.Encoded, e2.Encoded.Encoded); } } finally { Connection().ExecuteSql("DROP TYPE TestTableWithEncodedInt"); } }