当前位置: 首页>>代码示例>>C#>>正文


C# Database.ShouldNotBeNull方法代码示例

本文整理汇总了C#中Microsoft.Practices.EnterpriseLibrary.Data.Database.ShouldNotBeNull方法的典型用法代码示例。如果您正苦于以下问题:C# Database.ShouldNotBeNull方法的具体用法?C# Database.ShouldNotBeNull怎么用?C# Database.ShouldNotBeNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Microsoft.Practices.EnterpriseLibrary.Data.Database的用法示例。


在下文中一共展示了Database.ShouldNotBeNull方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateTransactionScopeConnection

        /// <summary>
        /// 현재 Transaction에 해당하는 Connection을 반환한다.
        /// 이미 열려진 Connection을 재활용하거나, TransactionScope가 활성화되어 있다면 새로운 connection을 빌드해서 반환한다.
        /// TransactionScope도 없고, <see cref="Database"/>관련해서 아직 만들어진게 없다면, 새로운 <see cref="DbConnection"/>을 생성하고, Open() 해서 반환한다.
        /// </summary>
        /// <param name="db">instance of <see cref="Database"/></param>
        /// <param name="newConnectionCreated">새로 Connection이 만들어졌는지</param>
        /// <param name="connectionFactory">Connection을 새로 만드는 메소드</param>
        /// <returns>
        /// TransactionScope이 활성화되어 있다면, TransactionScope에서 활성화된 <see cref="DbConnection"/>을 반환,
        /// TransactionScope가 없다면 새로운 <see cref="DbConnection"/>을 생성하여 반환한다.</returns>
        public static DbConnection CreateTransactionScopeConnection(Database db, ref bool newConnectionCreated,
                                                                    Func<Database, DbConnection> connectionFactory = null) {
            db.ShouldNotBeNull("db");
            connectionFactory = connectionFactory ?? ((database) => OpenConnection(database));

            // newConnectionCreated = false;
            DbConnection connection;

            // TransactionScope에 참여한 Connection이 있다면 그 Connection을 반환합니다.
            try {
                connection = TransactionScopeConnections.GetConnection(db);
            }
            catch(Exception ex) {
                if(log.IsWarnEnabled)
                    log.WarnException("TransactionScopeConnections.GetConnection() 수행 시에 예외가 발생했습니다. 무시하고 새로운 connection을 생성합니다.", ex);

                connection = null;
            }

            // 새롭게 Connection을 빌드합니다.
            if(connection == null) {
                if(IsDebugEnabled)
                    log.Debug("TransactionScope에 속한 connection이 없습니다. 새로운 connection을 생성하고, Open합니다...");

                connection = connectionFactory(db);
                newConnectionCreated = (connection != null);

                if(IsDebugEnabled)
                    log.Debug("새로운 connection을 생성하고, Open했습니다. newConnectionCreated=[{0}]", newConnectionCreated);
            }

            return connection;
        }
开发者ID:debop,项目名称:NFramework,代码行数:44,代码来源:AdoTool.Database.cs


注:本文中的Microsoft.Practices.EnterpriseLibrary.Data.Database.ShouldNotBeNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。