1、通过Fluent API 来添加描述
使用HasComment实现
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>(a => a.Property("UserName").HasComment("用户姓名"));
}
2、通过实体类中的Description属性实现
实体类代码示例
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Cari.IBP.Platform.Utility.Models;
using Cari.Disp.Context;
namespace Cari.Disp.Entities
{
/// <summary>
/// 年计划
/// </summary>
public class YearPlan: BaseEntity
{
/// <summary>
/// 年度
/// </summary>
[Required]
[MaxLength(50)]
[Description("年度")]
public string Year { get; set; }
/// <summary>
/// 原煤产量计划
/// </summary>
[Description("原煤产量计划")]
public decimal? CoalOutput { get; set; }
/// <summary>
/// 进尺计划
/// </summary>
[Description("进尺计划")]
public decimal? MakeHole { get; set; }
/// <summary>
/// 开拓进尺计划
/// </summary>
[Description("开拓进尺计划")]
public decimal? OpenMakeHole { get; set; }
/// <summary>
/// 准备进尺计划
/// </summary>
[Description("准备进尺计划")]
public decimal? IntendMakeHole { get; set; }
/// <summary>
/// 准备进尺计划
/// </summary>
[Description("汽车销量计划")]
public decimal? CarSales { get; set; }
/// <summary>
/// 铁路销量计划
/// </summary>
[Description("铁路销量计划")]
public decimal? RailwaySales { get; set; }
/// <summary>
/// 原煤入洗量计划
/// </summary>
[Description("原煤入洗量计划")]
public decimal? CoalWashing { get; set; }
/// <summary>
/// 洗精煤产量计划
/// </summary>
[Description("洗精煤产量计划")]
public decimal? CleanCoalOutput { get; set; }
}
}
dbcontext中,在OnModelCreating中通过获取属性实现
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
var type = entityType.ClrType;
if (typeof(BaseEntity).IsAssignableFrom(type))
{
//通过DescriptionAttribute创建字段注释
var descriptionAttrs = type.GetProperties().Where(c => c.IsDefined(typeof(DescriptionAttribute), true));
foreach (var attr in descriptionAttrs)
{
var descriptionAttr = attr.GetCustomAttribute<DescriptionAttribute>();
modelBuilder.Entity(type).Property(attr.Name).HasComment(descriptionAttr.Description);
}
}
}
base.OnModelCreating(modelBuilder);
}
方法2适合在数据表较多的情况下使用,且可增强代码的可读性