在上一节中,我们实现了主页UI框架和基础菜单功能,本节主要实现数据库的类库创建、数据功能接口以及泛型方法实现。本例使用的数据库为 MySql数据库,ORM框架采用 SqlSugar 实现。
数据库实现
创建数据库类库
-
新建项目,选择类库,命名为 DataBaseLib,如下所示:
-
划分数据库三层结构目录,数据模型 Entities,数据访问层 DAL,业务逻辑层 BLL,分别创建三层目录文件夹,如下所示:
-
创建一个基类数据模型 BaseModel,用来提取数据模型的公共部分,其他数据模型继承这个基类数据模型,如下所示:
-
SqlSugar 安装,在 DataBaseLib 类库右键,管理NuGet包,搜索 SqlSugar 安装最新版本。
-
BaseModel 代码实现如下:
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataBaseLib.Entities.BaseEntity
{
public class BaseModel
{
public BaseModel()
{
CreateTime = DateTime.Now;
}
/// <summary>
/// 自增主键
/// </summary>
[SugarColumn(IsPrimaryKey =true,IsIdentity =true,ColumnDescription ="自增主键")]
public int Id {
get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnDescription = "创建时间")]
public DateTime CreateTime {
get; set; }
/// <summary>
/// 更新时间 可空
/// </summary>
[SugarColumn(IsNullable =true,ColumnDescription = "更新时间")]
public DateTime UpdateTime {
get; set; }
}
}
- 创建一个测用户信息表 UserInfo,表结构代码如下
using DataBaseLib.Entities.BaseEntity;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataBaseLib.Entities
{
[SugarTable("UserInfo")]//设置数据库名称,当类库名称和数据库不一致是可以通过别名统一
public class UserInfo : BaseModel
{
/// <summary>
/// 编号
/// </summary>
[SugarColumn(ColumnDataType = "Nvarchar(100)", ColumnDescription = "编号")]
public string Code {
get; set; }
/// <summary>