Exemple #1
0
        private static void Update <T>(string connectionString, T entity, Dictionary <string, object> fieldsWithValues) where T : new()
        {
            var(condition, wheres) = KeyAttribute.GetKeysQueryWhere(entity);

            var updateBuilder = new UpdateQueryBuilder()
                                .WithFields(fieldsWithValues)
                                .WithWhere(condition, wheres.ToArray());

            var query = updateBuilder.Build <T>();

            DataBaseDataReader.ExecuteNonQuery(connectionString, query);
        }
        public void GenerateSimpleQueryTest()
        {
            // Arrange
            const string queryExpected = "UPDATE `books` SET `Title` = 'Essential C#', `Price` = 20.99";
            var          fields        = new Dictionary <string, object>
            {
                { GetColumnNameWithQuotes <Book>(nameof(Book.Title)), "Essential C#" },
                { GetColumnNameWithQuotes <Book>(nameof(Book.Price)), 20.99d }
            };
            var updateQueryBuilder = new UpdateQueryBuilder()
                                     .WithFields(fields);

            // Act
            var query = updateQueryBuilder.Build <Book>();

            // Assert
            Assert.AreEqual(queryExpected, query);
        }