# Hisa.EntityFramework
**Repository Path**: weile0796/Hisa.EntityFramework
## Basic Information
- **Project Name**: Hisa.EntityFramework
- **Description**: 一款NET开源多库的、开箱即用的、功能全面的ORM框架
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2023-03-14
- **Last Updated**: 2025-01-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: ORM, dotNET
## README
Hisa.EntityFramework
⚡一款NET开源多库的、开箱即用的、功能全面的ORM框架
# 🚩 项目介绍
Hisa.EntityFramework 一款NET开源多库的、开箱即用的、功能全面的ORM框架。目前数据库仅支持MYSQL。未来一直会致力追求卓越的性能、支持更多的数据库,为开源中国添砖加瓦。
# 🏅 开源地址
[](https://gitee.com/weile0796/Hisa.EntityFramework.git)
[](https://github.com/weile0769/Hisa.EntityFramework)
# ✨ 近期目标
**原生SQL**
- [x] 无实体原生SQL数据库访问操作
**条件查询**
- [x] SQL语法条件查询
- [ ] Lambda表达式条件查询
# 🎯 安装
```csharp
var builder = WebApplication.CreateBuilder(args);
//注册数据库实体框架
builder.Services.AddHisaSqlEntityFramework(options =>
{
options.ConfigureOptions = new List
{
new()
{
Enabled = true,
Default = true,
ConnectionName = Configure.ConnectionName,
ConnectionString = Configure.ConnectionString
}
};
options.UseMySqlConnector();
});
```
**说明:**
DatabaseConfigureOptions配置项:
- Enabled:是否开启,默认true
- Default:是否默认数据库,默认false
- ConnectionName:数据库连接对象标识
- ConnectionString:数据库连接字符串
- CommandTimeOut:数据库命令执行等待时间,默认值:300秒
# 🎉 功能介绍
## **原生SQL**
| 方法名 | 描述 | 返回值 |
| ------------------ | -------------------------------------- | ---------- |
| SqlQuery\ | 查询所有返回实体集合 | List\ |
| SqlQuerySingle\ | 查询第一条记录 | T |
| GetDataTable | 查询数据表格DataTable | DataTable |
| GetDataReader | 查询数据读取器DataReader,需要手动释放 | DataReader |
| GetDataSet | 查询数据结果集DataSet | DataSet |
| GetScalar | 获取首行首列 | object |
| ExecuteCommand | 执行SQL返回受影响行数,一般用于增删改 | int |
```csharp
var sql = @"select id, create_time, modify_time from user where id>@id and create_time<@createTime";
var list = _sqlClient.Ado.SqlQuery(sql, new
{
id = 1,
createTime = DateTime.Now
});
```
## **数据查询**
### **WHERE 条件查询**
#### **SQL 语法条件查询**
```csharp
var list = _sqlClient.Queryable().Where("id>@id", new
{
id = 1
}).ToList();
```