表和字段自动映射 #
在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。