1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using Ant.Data;
- using System;
- using System.Collections.Generic;
- using System.Linq.Expressions;
- namespace Ant.ORM
- {
- /// <summary>
- /// 定义接口
- /// </summary>
- public interface IDbContext : IDisposable
- {
- //IDbSession CurrentSession { get; }
- /// <summary>
- /// 组装SQL语句
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns></returns>
- IQuery<T> Query<T>() where T : new();
- /// <summary>
- /// 自定义SQL语句
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="sql"></param>
- /// <param name="parameters"></param>
- /// <returns></returns>
- IEnumerable<T> SqlQuery<T>(string sql, params DbParam[] parameters) where T : new();
- /// <summary>
- /// 保存
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="entity"></param>
- /// <returns></returns>
- T Insert<T>(T entity);
- /// <summary>
- /// 保存
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="body"></param>
- /// <returns>PrimaryKey</returns>
- object Insert<T>(Expression<Func<T>> body);
- /// <summary>
- ///
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="entity"></param>
- /// <returns></returns>
- int Update<T>(T entity);
- /// <summary>
- ///
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="body"></param>
- /// <param name="condition"></param>
- /// <returns></returns>
- int Update<T>(Expression<Func<T, T>> body, Expression<Func<T, bool>> condition);
- /// <summary>
- ///
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="entity"></param>
- /// <returns></returns>
- int Delete<T>(T entity);
- /// <summary>
- ///
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="condition"></param>
- /// <returns></returns>
- int Delete<T>(Expression<Func<T, bool>> condition);
- /// <summary>
- ///
- /// </summary>
- /// <param name="entity"></param>
- void TrackEntity(object entity);
- }
- }
|