zoukankan      html  css  js  c++  java
  • PetaPoco轻量级ORM框架

    PetaPoco Database API
    
    #region IDisposable
    public void Dispose()
    #endregion
    
    #region Constructors
    public Database()
    public Database(IDbConnection connection)
    public Database(string connectionString, string providerName = null)
    public Database(string connectionString, DbProviderFactory factory)
    public Database(string connectionStringName)
    public Database(string connectionString, IProvider provider, IMapper defaultMapper = null)
    public Database(IDatabaseBuildConfiguration configuration)
    #endregion
    
    #region Connection Management
    public bool KeepConnectionAlive;
    public void OpenSharedConnection();
    public void CloseSharedConnection();
    public IDbConnection Connection;
    #endregion
    
    #region Transaction Management
    // Helper to create a transaction scope
    public ITransaction GetTransaction()
    public virtual void OnBeginTransaction()
    public virtual void OnEndTransaction()
    public void BeginTransaction()
    private void CleanupTransaction()
    public void AbortTransaction()
    public void CompleteTransaction()
    #endregion
    
    #region Command Management
    private void AddParam(IDbCommand cmd, object value, PropertyInfo pi)
    // Create a command
    private static Regex rxParamsPrefix = new Regex(@"(?<!@)@w+", RegexOptions.Compiled);
    public IDbCommand CreateCommand(IDbConnection connection, string sql, params object[] args)
    #endregion
    
    #region Exception Reporting and Logging
    public virtual bool OnException(Exception x)
    public virtual IDbConnection OnConnectionOpened(IDbConnection conn)
    public virtual void OnConnectionClosing(IDbConnection conn)
    public virtual void OnExecutingCommand(IDbCommand cmd)
    public virtual void OnExecutedCommand(IDbCommand cmd)
    #endregion
    
    #region operation: Execute 
    public int Execute(string sql, params object[] args)
    public int Execute(Sql sql)
    #endregion
    
    #region operation: ExecuteScalar
    public T ExecuteScalar<T>(string sql, params object[] args)
    public T ExecuteScalar<T>(Sql sql)
    #endregion
    
    #region operation: Fetch
    public List<T> Fetch<T>(string sql, params object[] args)
    public List<T> Fetch<T>(Sql sql)
    #endregion
    
    #region operation: Page
    public Page<T> Page<T>(long page, long itemsPerPage, string sqlCount, object[] countArgs, string sqlPage, object[] pageArgs)
    public Page<T> Page<T>(long page, long itemsPerPage, string sql, params object[] args)
    public Page<T> Page<T>(long page, long itemsPerPage, Sql sql)
    public Page<T> Page<T>(long page, long itemsPerPage, Sql sqlCount, Sql sqlPage)
    #endregion
    
    #region operation: Fetch (page)
    public List<T> Fetch<T>(long page, long itemsPerPage, string sql, params object[] args)
    public List<T> Fetch<T>(long page, long itemsPerPage, Sql sql)
    #endregion
    
    #region operation: SkipTake
    public List<T> SkipTake<T>(long skip, long take, string sql, params object[] args)
    public List<T> SkipTake<T>(long skip, long take, Sql sql)
    #endregion
    
    #region operation: Query
    public IEnumerable<T> Query<T>(string sql, params object[] args)
    public IEnumerable<T> Query<T>(Sql sql)
    #endregion
    
    #region operation: Exists
    public bool Exists<T>(string sqlCondition, params object[] args)
    public bool Exists<T>(object primaryKey)
    #endregion
    
    #region operation: linq style (Exists, Single, SingleOrDefault etc...)
    public T Single<T>(object primaryKey)
    public T SingleOrDefault<T>(object primaryKey)
    public T Single<T>(string sql, params object[] args) public T SingleOrDefault<T>(string sql, params object[] args) public T First<T>(string sql, params object[] args) public T FirstOrDefault<T>(string sql, params object[] args)
    public T Single<T>(Sql sql) public T SingleOrDefault<T>(Sql sql) public T First<T>(Sql sql) public T FirstOrDefault<T>(Sql sql)

    关于Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的说明 #endregion #region operation: Insert public object Insert(string tableName, object poco) public object Insert(string tableName, string primaryKeyName, object poco) public object Insert(string tableName, string primaryKeyName, bool autoIncrement, object poco) public object Insert(object poco) private object ExecuteInsert(string tableName, string primaryKeyName, bool autoIncrement, object poco) #endregion #region operation: Update public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue) public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue, IEnumerable<string> columns) public int Update(string tableName, string primaryKeyName, object poco) public int Update(string tableName, string primaryKeyName, object poco, IEnumerable<string> columns) public int Update(object poco, IEnumerable<string> columns) public int Update(object poco) public int Update(object poco, object primaryKeyValue) public int Update(object poco, object primaryKeyValue, IEnumerable<string> columns) public int Update<T>(string sql, params object[] args) public int Update<T>(Sql sql) private int ExecuteUpdate(string tableName, string primaryKeyName, object poco, object primaryKeyValue, IEnumerable<string> columns) #endregion #region operation: Delete public int Delete(string tableName, string primaryKeyName, object poco) public int Delete(string tableName, string primaryKeyName, object poco, object primaryKeyValue) public int Delete(object poco) public int Delete<T>(object pocoOrPrimaryKey) public int Delete<T>(string sql, params object[] args) public int Delete<T>(Sql sql) #endregion #region operation: IsNew public bool IsNew(string primaryKeyName, object poco) protected virtual bool IsNew(string primaryKeyName, PocoData pd, object poco) public bool IsNew(object poco) #endregion #region operation: Save public void Save(string tableName, string primaryKeyName, object poco) public void Save(object poco) #endregion
    #region operation: Multi-Poco Query/Fetch public List<TRet> Fetch<T1, T2, TRet>(Func<T1, T2, TRet> cb, string sql, params object[] args) public List<TRet> Fetch<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> cb, string sql, params object[] args) public List<TRet> Fetch<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> cb, string sql, params object[] args) public IEnumerable<TRet> Query<T1, T2, TRet>(Func<T1, T2, TRet> cb, string sql, params object[] args) public IEnumerable<TRet> Query<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> cb, string sql, params object[] args) public IEnumerable<TRet> Query<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> cb, string sql, params object[] args) public List<TRet> Fetch<T1, T2, TRet>(Func<T1, T2, TRet> cb, Sql sql) public List<TRet> Fetch<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> cb, Sql sql) public List<TRet> Fetch<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> cb, Sql sql) public IEnumerable<TRet> Query<T1, T2, TRet>(Func<T1, T2, TRet> cb, Sql sql) public IEnumerable<TRet> Query<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> cb, Sql sql) public IEnumerable<TRet> Query<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> cb, Sql sql) public List<T1> Fetch<T1, T2>(string sql, params object[] args) public List<T1> Fetch<T1, T2, T3>(string sql, params object[] args) public List<T1> Fetch<T1, T2, T3, T4>(string sql, params object[] args) public IEnumerable<T1> Query<T1, T2>(string sql, params object[] args) public IEnumerable<T1> Query<T1, T2, T3>(string sql, params object[] args) public IEnumerable<T1> Query<T1, T2, T3, T4>(string sql, params object[] args) public List<T1> Fetch<T1, T2>(Sql sql) public List<T1> Fetch<T1, T2, T3>(Sql sql) public List<T1> Fetch<T1, T2, T3, T4>(Sql sql) public IEnumerable<T1> Query<T1, T2>(Sql sql) public IEnumerable<T1> Query<T1, T2, T3>(Sql sql) public IEnumerable<T1> Query<T1, T2, T3, T4>(Sql sql) public IEnumerable<TRet> Query<TRet>(Type[] types, object cb, string sql, params object[] args) #endregion #region Last Command public string LastSQL public object[] LastArgs public string LastCommand #endregion #region FormatCommand public string FormatCommand(IDbCommand cmd) public string FormatCommand(string sql, object[] args) #endregion #region Public Properties public IMapper DefaultMapper public bool EnableAutoSelect; public bool EnableNamedParams; public int CommandTimeout; public int OneTimeCommandTimeout; public IProvider Provider public string ConnectionString public IsolationLevel? IsolationLevel #endregion #region Member Fields // Member variables private IMapper _defaultMapper; private string _connectionString; private IProvider _provider; private IDbConnection _sharedConnection; private IDbTransaction _transaction; private int _sharedConnectionDepth; private int _transactionDepth; private bool _transactionCancelled; private string _lastSql; private object[] _lastArgs; private string _paramPrefix; private DbProviderFactory _factory; private IsolationLevel? _isolationLevel; #endregion #region Internal operations internal void ExecuteNonQueryHelper(IDbCommand cmd); internal object ExecuteScalarHelper(IDbCommand cmd); internal void DoPreExecute(IDbCommand cmd); #endregion

      

  • 相关阅读:
    Python 接口测试之结果集比较封装
    Python 接口测试之发送邮件封装
    Python 接口测试之接口请求方法封装
    Python 接口测试之获取接口数据封装
    Python 接口测试之接口关键字封装
    Python 接口测试之Excel表格数据操作方法封装
    [c++] 二级指针的原理
    [bug] java.text.ParseException: Unparseable date: "2020-01-01"
    [bug] IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
    [bug] maven“1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符”
  • 原文地址:https://www.cnblogs.com/slwangzi/p/8506508.html
Copyright © 2011-2022 走看看