Example #1
0
        public async Task Guid_Arg()
        {
            // Oracle has no Guid parameter support, Massive maps Guid to string in Oracle
            var     db        = new MightyOrm(string.Format(TestConstants.ReadWriteTestConnection, ProviderName));
            var     guid      = Guid.NewGuid();
            var     inParams  = new { inval = guid };
            var     outParams = new { val = new Guid() };
            dynamic item;

            using (var command = db.CreateCommandWithParams("begin :val := :inval; end;", inParams: inParams, outParams: outParams))
            {
                Assert.AreEqual(DbType.String, command.Parameters[0].DbType);
                await db.ExecuteAsync(command);

                item = db.ResultsAsExpando(command);
            }
            Assert.AreEqual(typeof(string), item.val.GetType());
            Assert.AreEqual(guid, new Guid(item.val));
        }