public Compatibility GetCompatibility(ZodiacType zodiacType1, ZodiacType zodiacType2)
 {
     using var command   = _connection.CreateCommand();
     command.Connection  = _connection;
     command.CommandText =
         $"select {Compatibility.GetIdColumnName()}, {Compatibility.GetZodiac1ColumnName()}, {Compatibility.GetZodiac2ColumnName()}, " +
         $"{Compatibility.GetCompatibilityValueColumnName()}, {Compatibility.GetTextValueColumnName()} " +
         $"from {Compatibility.GetTableName()} " +
         $"where {Compatibility.GetZodiac1ColumnName()} = :zodiac1Type " +
         $"and {Compatibility.GetZodiac2ColumnName()} = :zodiac2Type;";
     command.Parameters.AddWithValue("zodiac1Type", zodiacType1);
     command.Parameters.AddWithValue("zodiac2Type", zodiacType2);
     Console.WriteLine("Execute SQL: " + command.CommandText);
     return(Factory.CreateCompatibility(command.ExecuteReader(), this));
 }
 public List <Compatibility> GetCompatibilities()
 {
     using var command   = _connection.CreateCommand();
     command.Connection  = _connection;
     command.CommandText =
         $"select {Compatibility.GetIdColumnName()}, {Compatibility.GetZodiac1ColumnName()}, {Compatibility.GetZodiac2ColumnName()}, " +
         $"{Compatibility.GetCompatibilityValueColumnName()}, {Compatibility.GetTextValueColumnName()} " +
         $"from {Compatibility.GetTableName()};";
     Console.WriteLine("Execute SQL: " + command.CommandText);
     return(Factory.CreateCompatibilityList(command.ExecuteReader(), this));
 }