如何使用迁移向 Entity Framework Core 代码优先中的列添加描述?

Joy*_*aça 13 c# entity-framework-core ef-core-3.0

我正在使用 Entity Framework Core 3.0 代码。如何在实体配置类或迁移中添加列的描述,以便它们最终成为 SQL Server 中的列描述?

有一个针对 Entity Framework 4.3.1 的出版物,但我无法在 Entity Framework Core 中执行此操作。

Iva*_*oev 12

您可以使用HasComment流畅的 API:

modelBuilder.Entity<MyEntity>()
    .Property(e => e.MyProperty)
    .HasComment("My Column Description");
Run Code Online (Sandbox Code Playgroud)

对于 SqlServer,这映射到相应的表列描述。


Mur*_*rad 9

我用的是CommentAttribute

数据注释(EF Core 5.0 及更高版本)

public class Box
{   
    [Comment("Width in centimeters")]
    public string Width { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

流畅的API

modelBuilder.Entity<Box>()
            .Property(b => b.Width)
            .HasComment("Width in centimeters");
Run Code Online (Sandbox Code Playgroud)

生成的 SQL 脚本。

COMMENT ON COLUMN shipping.box.width IS 'Width in centimeters';
Run Code Online (Sandbox Code Playgroud)

我的堆栈 EF Core 6.0 和 PostgreSQL 14.2。

微软文档