# SqlServerBuilderExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.SqlServer.Extensions](/reference/api/csharp/communitytoolkit.aspire.hosting.sqlserver.extensions.md)
- Type: [SqlServerBuilderExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.sqlserver.extensions/sqlserverbuilderextensions.md)
- Kind: `Methods`
- Members: `2`

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

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

- Name: `WithAdminer(IResourceBuilder<SqlServerServerResource>, Action<IResourceBuilder<AdminerContainerResource>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<SqlServerServerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.SqlServer.Extensions/SqlServerBuilderExtensions.cs#L106-L116)

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

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

## Parameters

- `builder` (`IResourceBuilder<SqlServerServerResource>`)
  The SqlServer server resource builder.
- `configureContainer` (`Action<IResourceBuilder<AdminerContainerResource>>`) `optional`
  Configuration callback for Adminer container resource.
- `containerName` (`string?`) `optional`
  The name of the container (Optional).

## Returns

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

## Remarks

This version of the package defaults to the tag of the container image. This overload is not available in polyglot app hosts. Use [SqlServerBuilderExtensions.WithAdminer(IResourceBuilder<SqlServerServerResource>, Action<IResourceBuilder<AdminerContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.sqlserver.extensions/sqlserverbuilderextensions/methods.md#withadminer-iresourcebuilder-sqlserverserverresource-action-iresourcebuilder-adminercontainerresource-string) instead.

## Examples

Use in application host with a SqlServer resource

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

var sqlserver = builder.AddSqlServer("sqlserver")
   .WithAdminer();
var db = sqlserver.AddDatabase("db");

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

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

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

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

- Name: `WithDbGate(IResourceBuilder<SqlServerServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<SqlServerServerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.SqlServer.Extensions/SqlServerBuilderExtensions.cs#L43-L55)

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

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

## Parameters

- `builder` (`IResourceBuilder<SqlServerServerResource>`)
  The SqlServer server resource builder.
- `configureContainer` (`Action<IResourceBuilder<DbGateContainerResource>>`) `optional`
  Configuration callback for DbGate container resource.
- `containerName` (`string?`) `optional`
  The name of the container (Optional).

## Returns

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

## Remarks

This version of the package defaults to the tag of the container image. This overload is not available in polyglot app hosts. Use [SqlServerBuilderExtensions.WithDbGate(IResourceBuilder<SqlServerServerResource>, Action<IResourceBuilder<DbGateContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.sqlserver.extensions/sqlserverbuilderextensions/methods.md#withdbgate-iresourcebuilder-sqlserverserverresource-action-iresourcebuilder-dbgatecontainerresource-string) instead.

## Examples

Use in application host with a SqlServer resource

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

var sqlserver = builder.AddSqlServer("sqlserver")
   .WithDbGate();
var db = sqlserver.AddDatabase("db");

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

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

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.
