Esempio n. 1
0
        public async Task Guid_Arg()
        {
            var     db   = new MightyOrm(TestConstants.ReadWriteTestConnection);
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
#if NETCOREAPP
                // For some reason .NET Core provider doesn't have DbType.Guid support even though .NET Framework provider does
                Assert.AreEqual(DbType.String, command.Parameters[0].DbType);
#else
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
#endif
                item = await db.SingleAsync(command);
            }
            // The output from the provider is a bunch of bytes either way, so we stick with the provider
            // default here (especially since it is the same in both cases).
#if NETCOREAPP2_0 || NETCOREAPP3_0 || NETCOREAPP3_1
            // This changed from `byte[]` to `string` somewhere between System.Data.SQLite 1.0.105 and 1.0.111
            Assert.AreEqual(typeof(string), item.val.GetType());
#else
            Assert.AreEqual(typeof(byte[]), item.val.GetType());
#endif
            Assert.AreEqual(guid, new Guid(item.val));
        }
Esempio n. 2
0
        public async Task Guid_Arg()
        {
            // PostgreSQL has true Guid type support
            var     db   = new MightyOrm(TestConstants.ReadWriteTestConnection);
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
                item = await db.SingleAsync(command);
            }
            Assert.AreEqual(guid, item.val);
        }
Esempio n. 3
0
        public void Guid_Arg()
        {
            // SQL Server has true Guid type support
            var     db   = new MightyOrm(TestConstants.ReadTestConnection);
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
                item = db.Single(command);
            }
            Assert.AreEqual(guid, item.val);
        }
Esempio n. 4
0
        public void Guid_Arg()
        {
            // PostgreSQL has true Guid type support
            var     db   = new MightyOrm(string.Format(TestConstants.ReadWriteTestConnection, TestConstants.ProviderName));
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
                item = db.Single(command);
            }
            Assert.AreEqual(guid, item.val);
        }
Esempio n. 5
0
        public async Task Guid_Arg()
        {
            // MySQL has native Guid parameter support, but the SELECT output is a string
            var     db   = new MightyOrm(WhenDevart.AddLicenseKey(ProviderName, string.Format(TestConstants.ReadTestConnection, ProviderName)));
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
                item = await db.SingleAsync(command);
            }
            Assert.AreEqual(typeof(string), item.val.GetType());
            Assert.AreEqual(guid, new Guid(item.val));
        }
Esempio n. 6
0
        public void Guid_Arg()
        {
            var     db   = new MightyOrm(TestConstants.ReadWriteTestConnection);
            var     guid = Guid.NewGuid();
            dynamic item;

            using (var command = db.CreateCommand("SELECT @0 AS val", null, guid))
            {
#if NETCOREAPP
                // For some reason .NET Core provider doesn't have DbType.Guid support even though .NET Framework provider does
                Assert.AreEqual(DbType.String, command.Parameters[0].DbType);
#else
                Assert.AreEqual(DbType.Guid, command.Parameters[0].DbType);
#endif
                item = db.Single(command);
            }
            // The output from the provider is a bunch of bytes either way, so we stick with the provider
            // default here (especially since it is the same in both cases).
            Assert.AreEqual(typeof(byte[]), item.val.GetType());
            Assert.AreEqual(guid, new Guid(item.val));
        }