using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
namespace OrmTest
{
internal class _3_EasyQuery
{
///
/// 初始化方法,包含各种查询操作的演示
/// Initialization method containing demonstrations of various query operations
///
public static void Init()
{
// 创建表并插入一条记录
// Create table and insert a record
CreateTable();
// 查询所有学生信息
// Query all student records
GetAllStudents();
// 查询学生总数
// Get the total count of students
GetStudentCount();
// 按条件查询学生信息
// Query student records based on conditions
GetStudentsByCondition();
// 模糊查询学生信息(名字包含"jack"的学生)
// Fuzzy search for student records (students with names containing "jack")
GetStudentsByName("jack");
// 根据学生ID查询单个学生
// Query a single student by student ID
GetStudentById(1);
// 获取Student03表中的最大Id
// Get the maximum ID from the Student03 table
GetMaxStudentId();
// 简单排序(按照Id降序排序)
// Simple sorting (sorting by Id in descending order)
GetStudentsOrderedByIdDesc();
// 查询学生姓名列表
// Query the list of student names
GetStudentNames();
}
///
/// 创建表并插入一条记录
/// Create table and insert a record
///
private static void CreateTable()
{
SqlSugarClient db = DbHelper.GetNewDb();
db.CodeFirst.InitTables();
db.Insertable(new Student03() { Name = "name" + SnowFlakeSingle.Instance.NextId() })
.ExecuteCommand();
}
///
/// 查询所有学生信息
/// Query all student records
///
private static void GetAllStudents()
{
SqlSugarClient db = DbHelper.GetNewDb();
var students = db.Queryable().ToList();
// 处理查询结果
// Process the query results
}
///
/// 查询学生总数
/// Get the total count of students
///
private static void GetStudentCount()
{
SqlSugarClient db = DbHelper.GetNewDb();
var count = db.Queryable().Count();
// 处理查询结果
// Process the query results
}
///
/// 按条件查询学生信息
/// Query student records based on conditions
///
private static void GetStudentsByCondition()
{
SqlSugarClient db = DbHelper.GetNewDb();
// 查询name字段不为null的学生
// Query students where the 'name' field is not null
var studentsWithNameNotNull = db.Queryable().Where(it => it.Name != null).ToList();
// 查询name字段为null的学生
// Query students where the 'name' field is null
var studentsWithNameNull = db.Queryable().Where(it => it.Name == null).ToList();
// 查询name字段不为空的学生
// Query students where the 'name' field is not empty
var studentsWithNameNotEmpty = db.Queryable().Where(it => it.Name != "").ToList();
// 多条件查询
// Query students with multiple conditions
var studentsWithMultipleConditions = db.Queryable().Where(it => it.Id > 10 && it.Name == "a").ToList();
// 动态OR查询
// Dynamic OR query
var exp = Expressionable.Create();
exp.OrIF(true, it => it.Id == 1);
exp.Or(it => it.Name.Contains("jack"));
var studentsWithDynamicOr = db.Queryable().Where(exp.ToExpression()).ToList();
}
///
/// 模糊查询学生信息
/// Fuzzy search for student records
///
private static void GetStudentsByName(string keyword)
{
SqlSugarClient db = DbHelper.GetNewDb();
var students = db.Queryable().Where(it => it.Name.Contains(keyword)).ToList();
// 处理查询结果
// Process the query results
}
///
/// 根据学生ID查询单个学生
/// Query a single student by student ID
///
private static void GetStudentById(int id)
{
SqlSugarClient db = DbHelper.GetNewDb();
var student = db.Queryable().Single(it => it.Id == id);
// 处理查询结果
// Process the query results
}
///
/// 获取Student03表中的最大Id
/// Get the maximum ID from the Student03 table
///
private static void GetMaxStudentId()
{
SqlSugarClient db = DbHelper.GetNewDb();
var maxId = db.Queryable().Max(it => it.Id);
// 处理查询结果
// Process the query results
}
///
/// 简单排序(按照Id降序排序)
/// Simple sorting (sorting by Id in descending order)
///
private static void GetStudentsOrderedByIdDesc()
{
SqlSugarClient db = DbHelper.GetNewDb();
var students = db.Queryable().OrderBy(sc => sc.Id, OrderByType.Desc).ToList();
// 处理查询结果
// Process the query results
}
///
/// 查询学生姓名列表
/// Query the list of student names
///
private static void GetStudentNames()
{
SqlSugarClient db = DbHelper.GetNewDb();
var studentNames = db.Queryable().Select(it => it.Name).ToList();
// 处理查询结果
// Process the query results
}
public class Student03
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
}
}
}