DataBaseHelper-数据库交互帮助类

随着越来越多的 ORM 框架出现,DataBaseHelper 也添加了相应的 ORM 函数支持,使用 ORM 框架的好处就是可以减少手写增删改查 SQL 语句的出错概率。

项目地址:

https://gitee.com/snipen/Helper.Core.Library/blob/master/DataBaseHelper.cs

以用户表为例,用户表的实体结构模型如下:

[DataBaseT("T_User")] //数据库表结构
public class DTUserModel
{
    [DataBaseIncrementT] // 自增字段
    public int IdentityID { get; set; }
    public string UserCode { get; set; }
    public string NickName { get; set; }
    public string UserPassword { get; set; }
    public int DeleteStatus { get; set; }
}

数据增加

new DataBaseHelper<DTUserModel>()
.Insert(p=>new
{
    p.UserCode,
    p.NickName,
    p.UserPassword
}).Execute(new DTUserModel() { });

数据编辑

new DataBaseHelper<DTUserModel>()
.Update(p=>new
{
    p.UserCode,
    p.NickName,
    p.UserPassword
}).Execute(new DTUserModel() { IdentityID = 1 });

数据删除

new DataBaseHelper<DTUserModel>()
.Delete().Execute(new { IdentityID = 1 });

数据查询

new DataBaseHelper<DTUserModel>()
.Select(p => new
{
    p.IdentityID,
    p.UserCode,
    p.NickName,
})
.ToSingle(new { IdentityID = 1 });

其他支持函数如下:

Limit:查询前 N 条数据
OrderBy:排序
OrderByDesc:排序,倒序
Where:条件语句
ToList:返回列表,如果 isRandom 为 true,随机返回数据
Increment:返回插入数据之后的自增编号
First:返回首行首列
Exists:根据条件查询是否存在某条数据
ToPaginationList:分页
Exclude:更新和插入时排除某些字段
LeftJoin:左连接
InnerJoin:内连接
RightJoin:右连接

补充说明:

Select(p => new { UserID = p.IdentityID }),会生成 select IdentityID as UserID 语句,Update(p => new { UserID = p.IdentityID }),会生成 update ... set IdentityID=@UserID 语句,当 Where 条件中有或语句时,需要添加 (),否则生成的 SQL 语句括号位置会不正确。

管理员

转载请注明出处!如果本博文或者本站对您(网站)的内容/素材构成侵权,请第一时间与本博主联系!

评论提交

wave

Press ESC to close