SqlSugar是一个轻量级的ORM框架,它提供了丰富的功能,使得开发者能够更加方便地进行数据库操作,为了更好地利用SqlSugar的功能,我们可以对其进行基类封装,以便于在项目中统一使用和扩展,下面将详细介绍如何进行SqlSugar基类封装。
我们需要创建一个基类,这个基类将包含一些通用的属性和方法,以便于我们在项目中统一使用,这个基类可以命名为BaseRepository,代码如下:
public class BaseRepository { private SqlSugarClient _db; public BaseRepository(SqlSugarClient db) { _db = db; } // 通用的查询方法 public IQueryable<T> Query<T>(Expression<Func<T, bool>> whereLambda) where T : class, new() { return _db.Queryable<T>().Where(whereLambda); } // 通用的添加方法 public void Add<T>(T entity) where T : class, new() { _db.Insertable(entity).ExecuteCommand(); } // 通用的更新方法 public void Update<T>(T entity) where T : class, new() { _db.Updateable(entity).ExecuteCommand(); } // 通用的删除方法 public void Delete<T>(T entity) where T : class, new() { _db.Deleteable(entity).ExecuteCommand(); } }
接下来,我们需要在项目中使用这个基类,我们需要创建一个SqlSugarClient实例,这个实例将用于与数据库进行交互,我们可以创建一个继承自BaseRepository的子类,并在子类中实现具体的业务逻辑,我们可以创建一个UserRepository类,代码如下:
public class UserRepository : BaseRepository { public UserRepository(SqlSugarClient db) : base(db) { } // 根据用户名和密码查询用户 public User GetUserByUsernameAndPassword(string username, string password) { var user = Query<User>(u => u.Username == username && u.Password == password).SingleOrDefault(); return user; } // 添加用户 public void AddUser(User user) { Add(user); } // 更新用户信息 public void UpdateUser(User user) { Update(user); } // 删除用户 public void DeleteUser(User user) { Delete(user); } }
现在,我们可以在项目中使用UserRepository类来进行数据库操作,我们可以在一个控制器中使用UserRepository来获取用户信息、添加用户、更新用户信息和删除用户,代码如下:
public class UserController : Controller { private readonly UserRepository _userRepository; public UserController(SqlSugarClient db) { _userRepository = new UserRepository(db); } public IActionResult Index() { var user = _userRepository.GetUserByUsernameAndPassword("admin", "123456"); return View(user); } [HttpPost] public IActionResult AddUser(User user) { _userRepository.AddUser(user); return RedirectToAction("Index"); } [HttpPost] public IActionResult UpdateUser(User user) { _userRepository.UpdateUser(user); return RedirectToAction("Index"); } [HttpPost] public IActionResult DeleteUser(User user) { _userRepository.DeleteUser(user); return RedirectToAction("Index"); } }
通过以上步骤,我们已经完成了SqlSugar基类的封装,在实际项目中,我们可以根据需要对基类进行扩展,以满足不同的业务需求,这种封装方式也有利于提高代码的可维护性和可读性。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/320570.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复