EFCommenter 1.0.6
dotnet add package EFCommenter --version 1.0.6
NuGet\Install-Package EFCommenter -Version 1.0.6
<PackageReference Include="EFCommenter" Version="1.0.6" />
<PackageVersion Include="EFCommenter" Version="1.0.6" />
<PackageReference Include="EFCommenter" />
paket add EFCommenter --version 1.0.6
#r "nuget: EFCommenter, 1.0.6"
#:package EFCommenter@1.0.6
#addin nuget:?package=EFCommenter&version=1.0.6
#tool nuget:?package=EFCommenter&version=1.0.6
EFCommenter
All summaries of entities, properties, and enums will be added as comments on the corresponding database tables and columns.
Features
- 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.
Installation
dotnet add package EFCommenter
Usage
Enable XML documentation in your project by adding this to your .csproj:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
Then, call the extension method in your DbContext:
using EFCommenter;
using Microsoft.EntityFrameworkCore;
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.AddEntitiesComments();
}
Example
Your entities and enums include some comments.
/// <summary>
/// The class declered a person!!!
/// </summary>
public class Person
{
public int Id { get; set; }
/// <summary>
/// The full name of the person!!!
/// </summary>
public string Name { get; set; } = "";
public PersonType Type { get; set; }
}
public enum PersonType
{
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!!!");
Notes
- 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.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Microsoft.EntityFrameworkCore (>= 9.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 9.0.10)
- Namotion.Reflection (>= 3.4.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release with core features.