All summaries of entities, properties, and enums will be added as comments on the corresponding database tables and columns.
- Automatically adds table comments from entity class summaries.
- Adds column comments from property summaries.
- Supports enum types as column comments.
- Works with SQL Server and PostgreSQL.
- Easy to integrate into your EF Core project using a single extension method.
dotnet add package EFCommenterEnable XML documentation in your project by adding this to your .csproj:
<PropertyGroup> <GenerateDocumentationFile>true</GenerateDocumentationFile> </PropertyGroup>Then, call the extension method in your DbContext:
usingEFCommenter;usingMicrosoft.EntityFrameworkCore;protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){modelBuilder.AddEntitiesComments();}Your entities and enums include some comments.
/// <summary>/// The class declered a person!!!/// </summary>publicclassPerson{publicintId{get;set;}/// <summary>/// The full name of the person!!!/// </summary>publicstringName{get;set;}="";publicPersonTypeType{get;set;}}publicenumPersonType{Admin,User,Guest}In the migration adding, the summaries will be automatically added as table and column comments in the created migration file, and they are ready to update the database comments.
migrationBuilder.CreateTable(name:"People",columns: table =>new{Id=table.Column<int>(type:"int",nullable:false).Annotation("SqlServer:Identity","1, 1"),Name=table.Column<string>(type:"nvarchar(max)",nullable:false,comment:"The full name of the person!!!"),Type=table.Column<int>(type:"int",nullable:false,comment:"0: Admin | \n1: User | \n2: Guest | ")},constraints: table =>{table.PrimaryKey("PK_People", x =>x.Id);},comment:"The class declered a person!!!");- Make sure your EF Core project targets .NET 8 or later.
- XML documentation file must be enabled for the summaries to be read.
- Tested with PostgreSQL and SQL Server.