EFCore.Migrations.AutoComments
10.1.0
See the version list below for details.
dotnet add package EFCore.Migrations.AutoComments --version 10.1.0
NuGet\Install-Package EFCore.Migrations.AutoComments -Version 10.1.0
<PackageReference Include="EFCore.Migrations.AutoComments" Version="10.1.0" />
<PackageVersion Include="EFCore.Migrations.AutoComments" Version="10.1.0" />
<PackageReference Include="EFCore.Migrations.AutoComments" />
paket add EFCore.Migrations.AutoComments --version 10.1.0
#r "nuget: EFCore.Migrations.AutoComments, 10.1.0"
#:package EFCore.Migrations.AutoComments@10.1.0
#addin nuget:?package=EFCore.Migrations.AutoComments&version=10.1.0
#tool nuget:?package=EFCore.Migrations.AutoComments&version=10.1.0
EFCore.Migrations.AutoComments
Automatically applies database comments to tables and columns based on XML documentation. Comments flow from <summary> tags directly into migrations.
Installation
dotnet add package EFCore.Migrations.AutoComments
Prerequisites
Enable XML documentation generation in your project:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
Registration
builder.Services.AddDbContext<AppDbContext>(options =>
options
.UseNpgsql(...)
.UseAutoComments());
XML file path resolution
If no file is specified, XML docs are auto-discovered by assembly name.
// Auto-discover (default)
options.UseAutoComments();
// Single file
options.UseAutoComments("MyApp.xml");
// Multiple files - merges docs from several assemblies
options.UseAutoComments("MyApp.xml", "SharedLibrary.xml");
Example
/// <summary>
/// Represents an animal in the shelter.
/// </summary>
public class Animal
{
/// <summary>
/// Unique identifier.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Animal name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Type of animal.
/// </summary>
public AnimalType Type { get; set; }
}
/// <summary>
/// Animal type.
/// </summary>
public enum AnimalType
{
/// <summary>Dog.</summary>
Dog,
/// <summary>Cat.</summary>
Cat,
/// <summary>Fish.</summary>
Fish
}
Generated migration comments:
COMMENT ON TABLE "Animals" IS 'Represents an animal in the shelter.';
COMMENT ON COLUMN "Animals"."Id" IS 'Unique identifier.';
COMMENT ON COLUMN "Animals"."Name" IS 'Animal name.';
COMMENT ON COLUMN "Animals"."Type" IS 'Type of animal.';
Enum descriptions
With options.UseAutoComments(o => o.AddEnumDescriptions()), the Type column comment becomes:
Type of animal.
0 - Dog.
1 - Cat.
2 - Fish.
For string-backed enums, the enum member name is used instead of the numeric value:
Status.
Active - Active account.
Suspended - Temporarily suspended.
Closed - Account closed.
Use [AutoCommentEnumDescription] on a property to enable enum descriptions for that property only, or [IgnoreAutoCommentEnumDescription] to exclude it when global mode is active.
License
MIT © Andrey Gavrilov 2026
Migrated from AndreqGav/EFCore.Migrations.Toolkit.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.