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

      

  • 相关阅读:
    TensorFlow分布式在Amazon AWS上运行
    在C++中加载TorchScript模型
    java 在 linux 持续运行 并不让其输出日志
    reactor.core.Exceptions$OverflowException: Could not emit tick 1 due to lack of requests (interval doesn't support small downstream requests that replenish slower than the ticks)
    https://gitee.com/createmaker/webflux-r2dbc-demo-pri
    清晨与暮霭 : 清晨,我睁开惺忪得眼睛,望向初升的朝阳,感受温暖. 暮霭,聆听风的私语,感受万籁俱寂.
    https://gitee.com/createmaker/eventbus-demo
    Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
    只是习惯,改掉就好,只是不习惯,习惯了就好
    从游戏角度了解RxJava
  • 原文地址:https://www.cnblogs.com/slwangzi/p/8506508.html
Copyright © 2011-2022 走看看