Esempio n. 1
0
        public void TestLoadAllByCriteriaString()
        {
            using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) {
                List <Kinetix.Data.SqlClient.Test.Bean> list = new List <Kinetix.Data.SqlClient.Test.Bean>();
                for (byte i = 0; i < 10; i++)
                {
                    Kinetix.Data.SqlClient.Test.Bean b = new Kinetix.Data.SqlClient.Test.Bean();
                    b.Pk           = i;
                    b.DataBool     = true;
                    b.DataByte     = i;
                    b.DataBytes    = new byte[i];
                    b.DataChar     = (char)(i + 64);
                    b.DataChars    = new char[i];
                    b.DataDateTime = DateTime.Now;
                    b.DataDecimal  = i;
                    b.DataDouble   = i;
                    b.DataFloat    = i;
                    b.DataGuid     = Guid.NewGuid();
                    b.DataInt      = i;
                    b.DataLong     = i;
                    b.DataShort    = i;
                    b.DataString   = i.ToString();
                    list.Add(b);
                }
                list.Add(new Kinetix.Data.SqlClient.Test.Bean());
                TestDbProviderFactory.DefinedNextResult(list);

                SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test");
                FilterCriteria criteria = new FilterCriteria()
                                          .Equals(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_FLOAT, 3)
                                          .StartsWith(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_STRING, "test")
                                          .NotStartsWith(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_STRING, "test2");
                QueryParameter sort = new QueryParameter(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_FLOAT, SortOrder.Asc);
                store.LoadAllByCriteria(null, criteria, sort);
                Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand;
                Assert.AreEqual("select BEA_PK, BEA_LONG, BEA_SHORT, BEA_GUID, BEA_FLOAT, BEA_DOUBLE, BEA_DECIMAL, BEA_DATETIME, BEA_CHARS, BEA_CHAR, BEA_BYTE, BEA_BOOL, BEA_INT, BEA_STRING from BEAN where BEA_FLOAT = @BEA_FLOAT and BEA_STRING LIKE @BEA_STRING + '%' and BEA_STRING NOT LIKE @BEA_STRING2 + '%' order by BEA_FLOAT asc", command.CommandText);
                Assert.AreEqual(3, command.Parameters["@BEA_FLOAT"].Value);
                Assert.AreEqual("test", command.Parameters["@BEA_STRING"].Value);
            }
        }