Ef Core花里胡哨系列(6) XML注释同步到数据库注释

2024-01-03 05:52

本文主要是介绍Ef Core花里胡哨系列(6) XML注释同步到数据库注释,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ef Core花里胡哨系列(6) XML注释同步到数据库注释

参考文档:C#读取注释的方法

准备读取Xml的工具类

可以根据[参考文档]获取一个简单读取注释的方法。

实现DbContext

我们通过重写OnModelCreating方法,在生成数据库表时,使用FluentApi指定对应表以及其属性的Comment即可将Xml注释转为数据库的Comment

public class SampleDbContext : DbContext
{public SampleDbContext(DbContextOptions<SampleDbContext> options) : base(options) { }public DbSet<User> Users { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){var xmlCommentHelper = new XmlCommentHelper();xmlCommentHelper.LoadAll();foreach (var entityType in modelBuilder.Model.GetEntityTypes()){var typeComment = xmlCommentHelper.GetTypeComment(entityType.ClrType);modelBuilder.Entity(entityType.ClrType).ToTable(t => t.HasComment(typeComment));foreach (var property in entityType.ClrType.GetProperties().Where(x => x.IsPubliclyWritable())){var propertyComment = xmlCommentHelper.GetFieldOrPropertyComment(property);modelBuilder.Entity(entityType.ClrType).Property(property.Name).HasComment(propertyComment);}}base.OnModelCreating(modelBuilder);}
}/// <summary>
/// 用户表
/// </summary>
public class User
{/// <summary>/// Id/// </summary>public Guid Id { get; set; }/// <summary>/// 姓名/// </summary>public required string Name { get; set; }/// <summary>/// 邮箱/// </summary>public required string Email { get; set; }
}

这篇关于Ef Core花里胡哨系列(6) XML注释同步到数据库注释的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564692

相关文章

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相