Beispiel #1
0
        public void XmlFieldTest()
        {
            DbValueConverter.Register(new XDocumentValueConverter());

            var document = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                                         new XElement("Root",
                                                      new XAttribute("test", "test-value"),
                                                      new XElement("Item"),
                                                      new XElement("Item"),
                                                      new XElement("Item")
                                                      ));

            Db.T($"INSERT INTO Test1 ( Name, XmlContent, [Index] ) VALUES ( {"XML content"}, {document}, {1} )").ExecuteNonQuery();

            var document1 = Db.T($"SELECT TOP 1 XmlContent FROM Test1").ExecuteScalar <XDocument>();

            Assert.AreEqual(document.ToString(SaveOptions.OmitDuplicateNamespaces), document1.ToString(SaveOptions.OmitDuplicateNamespaces));

            Db.T($"UPDATE Test1 SET XmlContent = {null} ").ExecuteNonQuery();
            Assert.IsNull(Db.T($"SELECT XmlContent FROM Test1 ").ExecuteScalar <XDocument>());


            DbValueConverter.Unregister <XDocument>();
        }