# SZORM
**Repository Path**: longang/SZORM
## Basic Information
- **Project Name**: SZORM
- **Description**: C# ORM,支持mssql,mysql,oracle,sqlite
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-08-05
- **Last Updated**: 2024-04-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SZORM
C# ORM,支持mssql,mysql,oracle,sqlite
## 使用方式
#### 定义一个基础类
```
///
/// 基础字段
///
public class Basic
{
///
/// 主键
///
[SZColumn(MaxLength = 32, IsKey = true)]
public string Key { get; set; }
///
/// 添加时间,首次添加记录会自动更新
///
[SZColumn(IsAddTime = true)]
public DateTime? AddTime { get; set; }
///
/// 修改时间,该时间会每次更新的时候自动更新
///
[SZColumn(IsEditTime = true)]
public DateTime? EditTime { get; set; }
}
```
#### 定义一个实体类
```
public class UserInfo:Basic
{
///
/// 登录用户名
///
[SZColumn(MaxLength = 100)]
public string Name { get; set; }
///
/// 手机号
///
[SZColumn(MaxLength = 11)]
public string Tel { get; set; }
///
/// 是否锁定,如果锁定后,将不能登录
///
public bool IsLock { get => isLock; set => isLock = value; }
private bool isLock = false;
///
/// 备注信息
///
public string Remarks { get; set; }
}
```
#### app.config或者web.config文件中添加
```
```
#### 添加连接字符串,如果连接其他的数据库,请采用其他的数据库连接字符串
```
```
#### 继承DbContext,类名称与字符串名称一致"DB"
```
public class DB : DbContext
{
///
/// 用户信息,用于登录
///
public DbSet UserInfos { get; set; }
protected override void Initialization()
{
}
protected override void UpdataDBExce()
{
}
}
```
#### ok大功告成,您可以使用啦.
## 常用方法
#### 添加
```
using (DB db = new DB())
{
UserInfo model=new UserInfo();
model.Name="张三";
model.Tel="1888888888";
model.Remarks="测试";
db.UserInfos.Add(model);
db.Save();
}
```
#### 修改
```
using (DB db = new DB())
{
UserInfo model=db.UserInfos.Find(key)
model.Name="张三";
model.Tel="1888888888";
model.Remarks="测试";
db.UserInfos.Edit(model);
db.Save();
}
```
#### 删除
```
using (DB db = new DB())
{
db.UserInfos.Remove(key)
db.Save();
}
```
#### 单表查询
```
using (DB db = new DB())
{
var query = db.UserInfos.AsQuery();
query = query.Where(w => w.LoginName.Contains("张"));
query = query.OrderByDesc(o => o.AddTime);
var result= query.ToList();
}
```