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); }