0.前言
在上一篇中,我们知道了如何使用SqlSugar,但是也只是简单的了解了如何使用,仿佛是套着镣铐行走,这明显不符合一个合格的程序员应有的素养。所以,这一篇我们将对其进行深挖,探究其背后的秘密。
1. 花式映射
在实际开发中,程序中的实体类和数据库的表名并不能完全一致,造成的原因有很多,例如说团队对数据库的命名和对程序的命名有着不同的要求,数据库是先建立的而程序是后开发的,又或者是程序只使用了数据库中一部分表等等。
这时候就会与C#约定优于配置相违背,但是这也符合C#的设计哲学,因为配置也是C#的一部分。我们该如何从实际角度来完成表与实体类之间的关系建立呢?
那就让我来带着大家一起看看SqlSugar是否能优雅的完成这一部分:
1.1 Attribute设置
SqlSugar预制了一些Attribute,允许我们通过Attribute来为实体表与数据库表之间建立关系:
- SugarTable:用来定义实体类映射的数据表
public SugarTable(string tableName);public SugarTable(string tableName, string tableDescription);
这是SugarTable的两个构造函数,允许设置表名和数据表描述
- SugarColumn:用来定义属性与数据表中的列的关系
public string ColumnDataType { get; set; }// 列的数据类型,填SQL 的数据类型public string OldColumnName { get; set; }// 当做了表更新之后,用来生成数据库用,此处填写原列名public bool IsNullable { get; set; }// 设置列是否允许为NULLpublic int Length { get