# MySqlBuilderExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.MySql.Extensions](/reference/api/csharp/communitytoolkit.aspire.hosting.mysql.extensions.md)
- Type: [MySqlBuilderExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.mysql.extensions/mysqlbuilderextensions.md)
- Kind: `Methods`
- Members: `2`

Provides extension methods for adding MySql resources to an `Hosting.IDistributedApplicationBuilder`.

## WithAdminer(IResourceBuilder<MySqlServerResource>, Action<IResourceBuilder<AdminerContainerResource>>, string?)

- Name: `WithAdminer(IResourceBuilder<MySqlServerResource>, Action<IResourceBuilder<AdminerContainerResource>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<MySqlServerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/67afcca30f02c18687f9c5219313710af9706630/src/CommunityToolkit.Aspire.Hosting.MySql.Extensions/MySqlBuilderExtensions.cs#L40-L50)

Adds an administration and development platform for MySql to the application model using Adminer.

```csharp
public static class MySqlBuilderExtensions
{
    public static IResourceBuilder<MySqlServerResource> WithAdminer(
        this IResourceBuilder<MySqlServerResource> builder,
        Action<IResourceBuilder<AdminerContainerResource>>? configureContainer = null,
        string? containerName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<MySqlServerResource>`)
- `configureContainer` (`Action<IResourceBuilder<AdminerContainerResource>>`) `optional`
- `containerName` (`string?`) `optional`

## Returns

`IResourceBuilder<MySqlServerResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## Remarks

This version of the package defaults to the tag of the container image. The MySql server resource builder. Configuration callback for Adminer container resource. The name of the container (Optional). Use in application host with a MySql resource

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var mysql = builder.AddMySql("mysql")
   .WithAdminer();
var db = mysql.AddDatabase("db");

var api = builder.AddProject<Projects.Api>("api")
  .WithReference(db);

builder.Build().Run();
```

## WithDbGate(IResourceBuilder<MySqlServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)

- Name: `WithDbGate(IResourceBuilder<MySqlServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<MySqlServerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/67afcca30f02c18687f9c5219313710af9706630/src/CommunityToolkit.Aspire.Hosting.MySql.Extensions/MySqlBuilderExtensions.cs#L80-L92)

Adds an administration and development platform for MySql to the application model using DbGate.

```csharp
public static class MySqlBuilderExtensions
{
    public static IResourceBuilder<MySqlServerResource> WithDbGate(
        this IResourceBuilder<MySqlServerResource> builder,
        Action<IResourceBuilder<DbGateContainerResource>>? configureContainer = null,
        string? containerName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<MySqlServerResource>`)
- `configureContainer` (`Action<IResourceBuilder<DbGateContainerResource>>`) `optional`
- `containerName` (`string?`) `optional`

## Returns

`IResourceBuilder<MySqlServerResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## Remarks

This version of the package defaults to the tag of the container image. The MySql server resource builder. Configuration callback for DbGate container resource. The name of the container (Optional). Use in application host with a MySql resource

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var mysql = builder.AddMySql("mysql")
   .WithDbGate();
var db = mysql.AddDatabase("db");

var api = builder.AddProject<Projects.Api>("api")
  .WithReference(db);

builder.Build().Run();
```
