本文整理汇总了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;
}