public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
        {
            OrmLiteConfig.DialectProvider.NamingStrategy     =
                OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
            {
                TablePrefix  = "tab_",
                ColumnPrefix = "col_",
            };

            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);
                var m = new ModelWithOnlyStringFields
                {
                    Id        = "998",
                    AlbumId   = "112",
                    AlbumName = "ElectroShip",
                    Name      = "QueryByExample"
                };

                db.Save(m);
                var modelFromDb = db.Where <ModelWithOnlyStringFields>(new { Name = "QueryByExample" })[0];

                Assert.AreEqual(m.Name, modelFromDb.Name);
            }

            OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase();
        }
        public void Transaction_commits_inserts_to_different_tables()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithIdAndName>(true);
                db.CreateTable <ModelWithFieldsOfDifferentTypes>(true);
                db.CreateTable <ModelWithOnlyStringFields>(true);

                db.DeleteAll <ModelWithIdAndName>();
                db.Insert(new ModelWithIdAndName(0));

                using (var dbTrans = db.BeginTransaction())
                {
                    db.Insert(new ModelWithIdAndName(0));
                    db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                    db.Insert(ModelWithOnlyStringFields.Create("id3"));

                    Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));

                    dbTrans.Commit();
                }

                Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
            }
        }
Exemple #3
0
        public void Can_loop_each_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);
                db.GetLastSql().Print();

                var dbRowIds = new List <string>();
                var rows     = db.SelectLazyFmt <ModelWithOnlyStringFields>("\"album_name\" = {0}", filterRow.AlbumName);
                foreach (var row in rows)
                {
                    dbRowIds.Add(row.Id);
                }

                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
            }
        }
Exemple #4
0
        public void Transaction_rollsback_transactions_to_different_tables()
        {
            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithIdAndName>(true);
                db.CreateTable <ModelWithFieldsOfDifferentTypes>(true);
                db.CreateTable <ModelWithOnlyStringFields>(true);

                db.Insert(new ModelWithIdAndName(1));

                using (var dbTrans = db.BeginTransaction())
                {
                    db.Insert(new ModelWithIdAndName(2));
                    db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                    db.Insert(ModelWithOnlyStringFields.Create("id3"));

                    Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
                }

                Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(1));
                Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(0));
                Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(0));
            }
        }
Exemple #5
0
        public void TransactionScope_rollsback_transactions_to_different_tables()
        {
            using (var db1 = OpenDbConnection())
            {
                db1.CreateTable <ModelWithIdAndName>(true);
                db1.CreateTable <ModelWithFieldsOfDifferentTypes>(true);
                db1.CreateTable <ModelWithOnlyStringFields>(true);

                db1.Insert(new ModelWithIdAndName(1));

                using (var scope = new TransactionScope())
                    using (var db = _dialectProvider.CreateConnection(ConnectionString))
                    {
                        db.Open();

                        db.Insert(new ModelWithIdAndName(2));
                        db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                        db.Insert(ModelWithOnlyStringFields.Create("id3"));

                        Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                        Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                        Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
                    }

                Assert.That(db1.Select <ModelWithIdAndName>(), Has.Count.EqualTo(1));
                Assert.That(db1.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(0));
                Assert.That(db1.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(0));
            }
        }
Exemple #6
0
        public void Transaction_rollsback_transactions_to_different_tables()
        {
            if (Dialect == Dialect.Firebird)
            {
                return;                              //Keeps Table locked
            }
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithIdAndName>();
                db.DropAndCreateTable <ModelWithFieldsOfDifferentTypes>();
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                db.Insert(new ModelWithIdAndName(1));

                using (var dbTrans = db.OpenTransaction())
                {
                    db.Insert(new ModelWithIdAndName(2));
                    db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                    db.Insert(ModelWithOnlyStringFields.Create("id3"));

                    Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
                }

                Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(1));
                Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(0));
                Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(0));
            }
        }
Exemple #7
0
        public void Can_loop_each_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);

                var dbRowIds = new List <string>();
                var rows     = db.EachWhere <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                foreach (var row in rows)
                {
                    dbRowIds.Add(row.Id);
                }

                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
            }
        }
Exemple #8
0
        public void TransactionScope_commits_inserts_to_different_tables()
        {
            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithIdAndName>(true);
                db.CreateTable <ModelWithFieldsOfDifferentTypes>(true);
                db.CreateTable <ModelWithOnlyStringFields>(true);

                db.Insert(new ModelWithIdAndName(1));

                using (var scope = new TransactionScope())
                {
                    db.Insert(new ModelWithIdAndName(2));
                    db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                    db.Insert(ModelWithOnlyStringFields.Create("id3"));

                    Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));

                    scope.Complete();
                }

                Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
            }
        }
        public void Can_GetSingle_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);

                var row = db.Single <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                Assert.That(row.Id, Is.EqualTo(filterRow.Id));

                row = db.Single <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                Assert.That(row.AlbumName, Is.EqualTo(filterRow.AlbumName));

                row = db.Single <ModelWithOnlyStringFields>(new { AlbumName = "Junk", Id = (object)null });
                Assert.That(row, Is.Null);
            }
        }
        public void Can_loop_each_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);

                var dbRowIds = new List <string>();
                var rows     = db.WhereLazy <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                foreach (var row in rows)
                {
                    dbRowIds.Add(row.Id);
                }

                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
            }
        }
Exemple #11
0
        public void Transaction_commits_inserts_to_different_tables()
        {
            using (var db = ConnectionString.OpenDbConnection())
                using (var dbCmd = db.CreateCommand())
                {
                    dbCmd.CreateTable <ModelWithIdAndName>(true);
                    dbCmd.CreateTable <ModelWithFieldsOfDifferentTypes>(true);
                    dbCmd.CreateTable <ModelWithOnlyStringFields>(true);

                    dbCmd.DeleteAll <ModelWithIdAndName>();
                    dbCmd.Insert(new ModelWithIdAndName(0));

                    using (var dbTrans = dbCmd.BeginTransaction())
                    {
                        dbCmd.Insert(new ModelWithIdAndName(0));
                        dbCmd.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                        dbCmd.Insert(ModelWithOnlyStringFields.Create("id3"));

                        Assert.That(dbCmd.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                        Assert.That(dbCmd.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                        Assert.That(dbCmd.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));

                        dbTrans.Commit();
                    }

                    Assert.That(dbCmd.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(dbCmd.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(dbCmd.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
                }
        }
        public void Can_get_data_from_TableWithNamigStrategy_with_GetById()
        {
            OrmLiteConfig.DialectProvider.NamingStrategy     =
                OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
            {
                TablePrefix  = "tab_",
                ColumnPrefix = "col_",
            };

            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);
                var m = new ModelWithOnlyStringFields
                {
                    Id        = "999",
                    AlbumId   = "112",
                    AlbumName = "ElectroShip",
                    Name      = "MyNameIsBatman"
                };

                db.Save(m);
                var modelFromDb = db.GetById <ModelWithOnlyStringFields>("999");

                Assert.AreEqual(m.Name, modelFromDb.Name);
            }

            OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase();
        }
        public void Transaction_commits_inserts_to_different_tables()
        {
            using (var db = Config.OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithIdAndName>();
                db.DropAndCreateTable <ModelWithFieldsOfDifferentTypes>();
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                db.Insert(new ModelWithIdAndName(1));

                using (var dbTrans = db.OpenTransaction())
                {
                    db.Insert(new ModelWithIdAndName(2));
                    db.Insert(ModelWithFieldsOfDifferentTypes.Create(3));
                    db.Insert(ModelWithOnlyStringFields.Create("id3"));

                    Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                    Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                    Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));

                    dbTrans.Commit();
                }

                Assert.That(db.Select <ModelWithIdAndName>(), Has.Count.EqualTo(2));
                Assert.That(db.Select <ModelWithFieldsOfDifferentTypes>(), Has.Count.EqualTo(1));
                Assert.That(db.Select <ModelWithOnlyStringFields>(), Has.Count.EqualTo(1));
            }
        }
        public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy()
        {
            using (new TemporaryNamingStrategy(new PrefixNamingStrategy {
                TablePrefix = "tab_", ColumnPrefix = "col_"
            }))
                using (var db = OpenDbConnection())
                {
                    db.CreateTable <ModelWithOnlyStringFields>(true);
                    ModelWithOnlyStringFields m = new ModelWithOnlyStringFields()
                    {
                        Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample"
                    };

                    db.Save <ModelWithOnlyStringFields>(m);
                    var modelFromDb = db.Where <ModelWithOnlyStringFields>(new { Name = "QueryByExample" })[0];

                    Assert.AreEqual(m.Name, modelFromDb.Name);

                    modelFromDb = db.SingleById <ModelWithOnlyStringFields>("998");
                    Assert.AreEqual(m.Name, modelFromDb.Name);
                }

            using (var db = OpenDbConnection())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);
                ModelWithOnlyStringFields m = new ModelWithOnlyStringFields()
                {
                    Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample"
                };

                db.Save <ModelWithOnlyStringFields>(m);
                var modelFromDb = db.Where <ModelWithOnlyStringFields>(new { Name = "QueryByExample" })[0];

                Assert.AreEqual(m.Name, modelFromDb.Name);

                modelFromDb = db.SingleById <ModelWithOnlyStringFields>("998");
                Assert.AreEqual(m.Name, modelFromDb.Name);
            }

            using (new TemporaryNamingStrategy(new PrefixNamingStrategy {
                TablePrefix = "tab_", ColumnPrefix = "col_"
            }))
                using (var db = OpenDbConnection())
                {
                    db.CreateTable <ModelWithOnlyStringFields>(true);
                    ModelWithOnlyStringFields m = new ModelWithOnlyStringFields()
                    {
                        Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample"
                    };

                    db.Save <ModelWithOnlyStringFields>(m);
                    var modelFromDb = db.Where <ModelWithOnlyStringFields>(new { Name = "QueryByExample" })[0];

                    Assert.AreEqual(m.Name, modelFromDb.Name);

                    modelFromDb = db.SingleById <ModelWithOnlyStringFields>("998");
                    Assert.AreEqual(m.Name, modelFromDb.Name);
                }
        }
Exemple #15
0
        public void Populate_Different_Objects_with_different_property_types()
        {
            var toObj   = ModelWithFieldsOfDifferentTypes.Create(1);
            var fromObj = ModelWithOnlyStringFields.Create("2");

            var obj3 = AutoMappingUtils.PopulateWith(toObj, fromObj);

            Assert.IsTrue(obj3 == toObj);
            Assert.That(obj3.Id, Is.EqualTo(2));
            Assert.That(obj3.Name, Is.EqualTo(fromObj.Name));
        }
        public void Can_GetById_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var row = db.SingleById <ModelWithOnlyStringFields>("id-1");

                Assert.That(row.Id, Is.EqualTo("id-1"));
            }
        }
Exemple #17
0
        public void Can_GetById_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var row = db.SingleById <ModelWithOnlyStringFields>("id-1");

                Assert.That(row.Id, Is.EqualTo("id-1"));
            }
        }
Exemple #18
0
        public void Can_GetByIds_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var rows     = db.SelectByIds <ModelWithOnlyStringFields>(rowIds);
                var dbRowIds = rows.ConvertAll(x => x.Id);

                Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
            }
        }
        public void Can_GetById_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = ConnectionString.OpenDbConnection())
                using (var dbCmd = db.CreateCommand())
                {
                    dbCmd.CreateTable <ModelWithOnlyStringFields>(true);

                    var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                    rowIds.ForEach(x => dbCmd.Insert(ModelWithOnlyStringFields.Create(x)));

                    var row = dbCmd.GetById <ModelWithOnlyStringFields>("id-1");

                    Assert.That(row.Id, Is.EqualTo("id-1"));
                }
        }
        public void Can_GetByIds_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var rows     = db.SelectByIds <ModelWithOnlyStringFields>(rowIds);
                var dbRowIds = rows.ConvertAll(x => x.Id);

                Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
            }
        }
Exemple #21
0
        public void Populate_From_Properties_With_Attribute()
        {
            var originalToObj = ModelWithOnlyStringFields.Create("id-1");
            var toObj         = ModelWithOnlyStringFields.Create("id-1");
            var fromObj       = ModelWithOnlyStringFields.Create("id-2");

            AutoMappingUtils.PopulateFromPropertiesWithAttribute(toObj, fromObj,
                                                                 typeof(IndexAttribute));

            Assert.That(toObj.Id, Is.EqualTo(originalToObj.Id));
            Assert.That(toObj.AlbumId, Is.EqualTo(originalToObj.AlbumId));

            //Properties with IndexAttribute
            Assert.That(toObj.Name, Is.EqualTo(fromObj.Name));
            Assert.That(toObj.AlbumName, Is.EqualTo(fromObj.AlbumName));
        }
 public void Can_get_data_from_TableWithUnderscoreSeparatedCompoundNamingStrategy_with_ReadConnectionExtension()
 {
     using (new TemporaryNamingStrategy(new UnderscoreSeparatedCompoundNamingStrategy()))
         using (var db = OpenDbConnection())
         {
             db.CreateTable <ModelWithOnlyStringFields>(true);
             var m = new ModelWithOnlyStringFields
             {
                 Id        = "997",
                 AlbumId   = "112",
                 AlbumName = "ElectroShip",
                 Name      = "ReadConnectionExtensionFirst"
             };
             db.Save(m);
             var modelFromDb = db.Single <ModelWithOnlyStringFields>(x => x.Name == "ReadConnectionExtensionFirst");
             Assert.AreEqual(m.AlbumName, modelFromDb.AlbumName);
         }
 }
        public void Can_get_data_from_TableWithNamingStrategy_with_GetById()
        {
            using (new TemporaryNamingStrategy(new PrefixNamingStrategy {
                TablePrefix = "tab_", ColumnPrefix = "col_"
            }))
                using (var db = OpenDbConnection())
                {
                    db.CreateTable <ModelWithOnlyStringFields>(true);
                    var m = new ModelWithOnlyStringFields {
                        Id = "999", AlbumId = "112", AlbumName = "ElectroShip", Name = "MyNameIsBatman"
                    };

                    db.Save(m);
                    var modelFromDb = db.SingleById <ModelWithOnlyStringFields>("999");

                    Assert.AreEqual(m.Name, modelFromDb.Name);
                }
        }
Exemple #24
0
        public void Can_select_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);

                var rows     = db.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                var dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                rows     = db.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                var queryByExample = new ModelWithOnlyStringFields {
                    AlbumName = filterRow.AlbumName
                };
                rows     = db.SelectNonDefaults(queryByExample);
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                SuppressIfOracle("Oracle provider is not smart enough to substitute ':' for '@' parameter delimiter.");

                rows = db.Select <ModelWithOnlyStringFields>(
                    "SELECT * FROM {0} WHERE {1} = @AlbumName"
                    .Fmt("ModelWithOnlyStringFields".SqlTable(), "AlbumName".SqlColumn()),
                    new { filterRow.AlbumName });
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
            }
        }
        public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
        {
            using (new TemporaryNamingStrategy(new PrefixNamingStrategy {
                TablePrefix = "tab_", ColumnPrefix = "col_"
            }))
                using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
                {
                    db.CreateTable <ModelWithOnlyStringFields>(true);
                    ModelWithOnlyStringFields m = new ModelWithOnlyStringFields()
                    {
                        Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample"
                    };

                    db.Save <ModelWithOnlyStringFields>(m);
                    var modelFromDb = db.Where <ModelWithOnlyStringFields>(new { Name = "QueryByExample" })[0];

                    Assert.AreEqual(m.Name, modelFromDb.Name);
                }
        }
Exemple #26
0
        public void Can_loop_each_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var dbRowIds = new List <string>();
                foreach (var row in db.SelectLazy <ModelWithOnlyStringFields>())
                {
                    dbRowIds.Add(row.Id);
                }

                Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
            }
        }
        public void Can_loop_each_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = OpenDbConnection())
            {
                db.DropAndCreateTable <ModelWithOnlyStringFields>();

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var dbRowIds = new List <string>();
                foreach (var row in db.SelectLazy <ModelWithOnlyStringFields>())
                {
                    dbRowIds.Add(row.Id);
                }

                Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
            }
        }
        public void Can_loop_each_string_from_ModelWithOnlyStringFields_table()
        {
            using (var db = ConnectionString.OpenDbConnection())
                using (var dbCmd = db.CreateCommand())
                {
                    dbCmd.CreateTable <ModelWithOnlyStringFields>(true);

                    var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                    rowIds.ForEach(x => dbCmd.Insert(ModelWithOnlyStringFields.Create(x)));

                    var dbRowIds = new List <string>();
                    foreach (var row in dbCmd.Each <ModelWithOnlyStringFields>())
                    {
                        dbRowIds.Add(row.Id);
                    }

                    Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
                }
        }
Exemple #29
0
        public void Can_select_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = ConnectionString.OpenDbConnection())
                using (var dbCmd = db.CreateCommand())
                {
                    dbCmd.CreateTable <ModelWithOnlyStringFields>(true);

                    var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                    rowIds.ForEach(x => dbCmd.Insert(ModelWithOnlyStringFields.Create(x)));

                    var filterRow = ModelWithOnlyStringFields.Create("id-4");
                    filterRow.AlbumName = "FilteredName";

                    dbCmd.Insert(filterRow);

                    var rows     = dbCmd.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                    var dbRowIds = rows.ConvertAll(x => x.Id);
                    Assert.That(dbRowIds, Has.Count.EqualTo(1));
                    Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                    rows     = dbCmd.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                    dbRowIds = rows.ConvertAll(x => x.Id);
                    Assert.That(dbRowIds, Has.Count.EqualTo(1));
                    Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                    var queryByExample = new ModelWithOnlyStringFields {
                        AlbumName = filterRow.AlbumName
                    };
                    rows     = dbCmd.ByExampleWhere <ModelWithOnlyStringFields>(queryByExample);
                    dbRowIds = rows.ConvertAll(x => x.Id);
                    Assert.That(dbRowIds, Has.Count.EqualTo(1));
                    Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                    rows = dbCmd.Query <ModelWithOnlyStringFields>(
                        "SELECT * FROM ModelWithOnlyStringFields WHERE AlbumName = @AlbumName", new { filterRow.AlbumName });
                    dbRowIds = rows.ConvertAll(x => x.Id);
                    Assert.That(dbRowIds, Has.Count.EqualTo(1));
                    Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
                }
        }
Exemple #30
0
        public void Can_select_with_filter_from_ModelWithOnlyStringFields_table()
        {
            using (var db = new OrmLiteConnectionFactory(ConnectionString, FirebirdDialect.Provider).Open())
            {
                db.CreateTable <ModelWithOnlyStringFields>(true);

                var rowIds = new List <string>(new[] { "id-1", "id-2", "id-3" });

                rowIds.ForEach(x => db.Insert(ModelWithOnlyStringFields.Create(x)));

                var filterRow = ModelWithOnlyStringFields.Create("id-4");
                filterRow.AlbumName = "FilteredName";

                db.Insert(filterRow);

                var rows     = db.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                var dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                rows     = db.Where <ModelWithOnlyStringFields>(new { filterRow.AlbumName });
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                var queryByExample = new ModelWithOnlyStringFields {
                    AlbumName = filterRow.AlbumName
                };
                rows     = db.SelectNonDefaults(queryByExample);
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));

                rows = db.Select <ModelWithOnlyStringFields>(
                    "SELECT * FROM ModelWithOnlyStringFields WHERE AlbumName = @AlbumName", new { filterRow.AlbumName });
                dbRowIds = rows.ConvertAll(x => x.Id);
                Assert.That(dbRowIds, Has.Count.EqualTo(1));
                Assert.That(dbRowIds[0], Is.EqualTo(filterRow.Id));
            }
        }