Ejemplo n.º 1
0
        public void SQLServerConnectorCRUD()
        {
            using (var connection = new SQLServer(_msSqlConnection))
            {
                try
                {
                    var datas = new List <TestTable>();
                    connection.CreateTable <TestTable>();
                    for (var iter = 0; iter < 10; iter++)
                    {
                        TestTable testTable = new TestTable()
                        {
                            id = iter, value = $"test"
                        };
                        datas.Add(testTable);
                        var affectedCreate = connection.Insert(testTable);
                        Assert.AreEqual(affectedCreate, 1);
                        var selectedById = connection.Query <TestTable>(primaryKey: iter);
                        Assert.AreEqual(selectedById.id, iter);
                        Assert.AreEqual(selectedById.value, "test");
                        var selectedByIdLambda = connection.Query <TestTable>(x => x.id == iter).First();
                        Assert.AreEqual(selectedByIdLambda.id, iter);
                        Assert.AreEqual(selectedByIdLambda.value, "test");
                        var selectedAll = connection.Query <TestTable>().First();
                        Assert.AreEqual(selectedAll.id, iter);
                        Assert.AreEqual(selectedAll.value, "test");
                        var selectFirst = connection.QueryFirst <TestTable>();
                        Assert.AreEqual(selectFirst.id, iter);
                        Assert.AreEqual(selectFirst.value, "test");
                        testTable.value = null;//"updated";
                        var affectedUpdate = connection.Update(testTable);
                        Assert.AreEqual(affectedUpdate, 1);
                        var affectedDeleteLambdaInvalid = connection.Delete <TestTable>(x => x.id == iter + 1);
                        Assert.AreEqual(affectedDeleteLambdaInvalid, 0);
                        var affectedDelete = connection.Delete(testTable);
                        Assert.AreEqual(affectedDelete, 1);
                    }
                    var affectedSelectScalar = connection.Query <TestTable>();
                    Assert.AreEqual(affectedSelectScalar.Count(), 0);

                    Assert.AreEqual(datas.Count(), connection.InsertMany(datas));
                    Assert.Pass();
                }
                finally
                {
                    connection.ExecuteNonQuery("DROP TABLE [TestTable]");
                }
            }
        }