表和字段自动映射 #

在mall3s中,无需显式方式指定数据库实体及字段名字,框架增加自动识别表名和字段名,可以不用写[SugarTable("tableName")] 和 [SugarColumn(ColumnName = "columnName")]了,只要字段遵循驼峰状并且数据库字段符合规则。如下所示:

前提:类标记了TenantAttribute,如[Tenant("blt_demo")]

1、代码示例 #

/// <summary>
    /// Demo
    /// </summary>
    [Tenant("blt_demo")] //"blt_demo"建议配置常量
    public class ExchangeRate
    {
        /// <summary>
        /// ID
        /// </summary>
        [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
        public string Id { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [SugarColumn(ColumnName = "F_CreatorTime")]        
        public DateTime? CreatorTime { get; set; }

        /// <summary>
        /// 创建用户ID
        /// </summary>
        [SugarColumn(ColumnName = "F_CreatorUserId")]        
        public string CreatorUserId { get; set; }

        /// <summary>
        /// 汇率日期
        /// </summary>    
        public DateTime? ExchangeDate { get; set; }

        /// <summary>
        /// 源币种
        /// </summary>    
        public string From { get; set; }

        /// <summary>
        /// 转换币种
        /// </summary>    
        public string To { get; set; }

        /// <summary>
        /// 汇率
        /// </summary>    
        public decimal Rate { get; set; }

    }

说明

  • 该类没有SugarTableAttribute,类名为“ExchangeRate”,因此该类映射成“exchange_rate”;

  • 字段“ExchangeDate”没有SugarColumnAttribute,因此该字段自动映射成“exchange_date”;字段“CreatorUserId”有属性SugarColumnAttribute,“Column”值为“F_CreatorUserId”,该字段映射成“F_CreatorUserId”。

2、说明 #

  • 如有标记[SugarTable("tableName")],表名优先使用 tableName

  • 如有标记[SugarColumn(ColumnName = "columnName")] ,字段名优先使用columnName。

上次更新: 3/10/2023, 5:03:49 PM