# `Tds.Ecto.UUID`
[🔗](https://github.com/elixir-ecto/ecto_sql/blob/v3.14.0/lib/ecto/adapters/tds/types.ex#L2)

A TDS adapter type for UUIDs strings.

If you are using Tds adapter and UUIDs in your project, instead of `Ecto.UUID`
you should use Tds.Ecto.UUID to generate correct bytes that should be stored
in database.

# `raw`

```elixir
@type raw() :: &lt;&lt;_::128&gt;&gt;
```

A raw binary representation of a UUID.

# `t`

```elixir
@type t() :: &lt;&lt;_::288&gt;&gt;
```

A hex-encoded UUID string.

# `bingenerate`

```elixir
@spec bingenerate() :: raw()
```

Generates a version 4 (random) UUID in the binary format.

# `cast`

```elixir
@spec cast(t() | raw() | any()) :: {:ok, t()} | :error
```

Casts to UUID.

# `cast!`

Same as `cast/1` but raises `Ecto.CastError` on invalid arguments.

# `dump`

```elixir
@spec dump(t() | any()) :: {:ok, raw()} | :error
```

Converts a string representing a UUID into a binary.

# `dump!`

# `embed_as`

# `equal?`

# `generate`

```elixir
@spec generate() :: t()
```

Generates a version 4 (random) UUID.

# `load`

```elixir
@spec load(raw() | any()) :: {:ok, t()} | :error
```

Converts a binary UUID into a string.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
