@@ -30,20 +30,23 @@ public class SqlClientSqlCommandSet : IDisposable
3030
3131 static SqlClientSqlCommandSet ( )
3232 {
33- var sysData = Assembly . Load ( " System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" ) ;
33+ var sysData = typeof ( System . Data . SqlClient . SqlCommand ) . Assembly ;
3434 sqlCmdSetType = sysData . GetType ( "System.Data.SqlClient.SqlCommandSet" ) ;
35- Debug . Assert ( sqlCmdSetType != null , "Could not find SqlCommandSet!" ) ;
36-
37- connectionSetter = DelegateHelper . BuildPropertySetter < SqlConnection > ( sqlCmdSetType , "Connection" ) ;
38- connectionGetter = DelegateHelper . BuildPropertyGetter < SqlConnection > ( sqlCmdSetType , "Connection" ) ;
39- transactionSetter = DelegateHelper . BuildPropertySetter < SqlTransaction > ( sqlCmdSetType , "Transaction" ) ;
40- commandTimeoutSetter = DelegateHelper . BuildPropertySetter < int > ( sqlCmdSetType , "CommandTimeout" ) ;
41- batchCommandGetter = DelegateHelper . BuildPropertyGetter < System . Data . SqlClient . SqlCommand > ( sqlCmdSetType , "BatchCommand" ) ;
42- doAppend = DelegateHelper . BuildAction < System . Data . SqlClient . SqlCommand > ( sqlCmdSetType , "Append" ) ;
43- doExecuteNonQuery = DelegateHelper . BuildFunc < int > ( sqlCmdSetType , "ExecuteNonQuery" ) ;
44- doDispose = DelegateHelper . BuildAction ( sqlCmdSetType , "Dispose" ) ;
35+ if ( sqlCmdSetType != null )
36+ {
37+ connectionSetter = DelegateHelper . BuildPropertySetter < SqlConnection > ( sqlCmdSetType , "Connection" ) ;
38+ connectionGetter = DelegateHelper . BuildPropertyGetter < SqlConnection > ( sqlCmdSetType , "Connection" ) ;
39+ transactionSetter = DelegateHelper . BuildPropertySetter < SqlTransaction > ( sqlCmdSetType , "Transaction" ) ;
40+ commandTimeoutSetter = DelegateHelper . BuildPropertySetter < int > ( sqlCmdSetType , "CommandTimeout" ) ;
41+ batchCommandGetter = DelegateHelper . BuildPropertyGetter < System . Data . SqlClient . SqlCommand > ( sqlCmdSetType , "BatchCommand" ) ;
42+ doAppend = DelegateHelper . BuildAction < System . Data . SqlClient . SqlCommand > ( sqlCmdSetType , "Append" ) ;
43+ doExecuteNonQuery = DelegateHelper . BuildFunc < int > ( sqlCmdSetType , "ExecuteNonQuery" ) ;
44+ doDispose = DelegateHelper . BuildAction ( sqlCmdSetType , "Dispose" ) ;
45+ }
4546 }
4647
48+ public static bool HasBatchImplementation => sqlCmdSetType != null ;
49+
4750 public SqlClientSqlCommandSet ( )
4851 {
4952 instance = Activator . CreateInstance ( sqlCmdSetType , true ) ;
0 commit comments