SqlClientFactory.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //------------------------------------------------------------------------------
  2. // <copyright file="SqlClientFactory.cs" company="Microsoft">
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. // </copyright>
  5. // <owner current="true" primary="true">[....]</owner>
  6. // <owner current="true" primary="false">[....]</owner>
  7. //------------------------------------------------------------------------------
  8. using System;
  9. using System.Data;
  10. using System.Data.Common;
  11. using System.Data.Sql;
  12. using System.Security;
  13. using System.Security.Permissions;
  14. namespace System.Data.SqlClient {
  15. public sealed class SqlClientFactory : DbProviderFactory, IServiceProvider {
  16. public static readonly SqlClientFactory Instance = new SqlClientFactory();
  17. private SqlClientFactory() {
  18. }
  19. public override bool CanCreateDataSourceEnumerator {
  20. get {
  21. return true;
  22. }
  23. }
  24. public override DbCommand CreateCommand() {
  25. return new SqlCommand();
  26. }
  27. public override DbCommandBuilder CreateCommandBuilder() {
  28. return new SqlCommandBuilder();
  29. }
  30. public override DbConnection CreateConnection() {
  31. return new SqlConnection();
  32. }
  33. public override DbConnectionStringBuilder CreateConnectionStringBuilder() {
  34. return new SqlConnectionStringBuilder();
  35. }
  36. public override DbDataAdapter CreateDataAdapter() {
  37. return new SqlDataAdapter();
  38. }
  39. public override DbParameter CreateParameter() {
  40. return new SqlParameter();
  41. }
  42. public override CodeAccessPermission CreatePermission(PermissionState state) {
  43. return new SqlClientPermission(state);
  44. }
  45. public override DbDataSourceEnumerator CreateDataSourceEnumerator() {
  46. return SqlDataSourceEnumerator.Instance;
  47. }
  48. /// <summary>
  49. /// Extension mechanism for additional services; currently the only service
  50. /// supported is the DbProviderServices
  51. /// </summary>
  52. /// <returns>requested service provider or null.</returns>
  53. object IServiceProvider.GetService(Type serviceType) {
  54. object result = null;
  55. if (serviceType == GreenMethods.SystemDataCommonDbProviderServices_Type) {
  56. result = GreenMethods.SystemDataSqlClientSqlProviderServices_Instance();
  57. }
  58. return result;
  59. }
  60. }
  61. }