{"id":19992594,"url":"https://github.com/godsharp/GodSharp.Data.Common.DbProvider","last_synced_at":"2025-05-04T11:31:32.387Z","repository":{"id":98833854,"uuid":"103496363","full_name":"godsharp/GodSharp.Data.Common.DbProvider","owner":"godsharp","description":"DbProviderFactory Factory libary for .NET Core.","archived":false,"fork":false,"pushed_at":"2017-09-14T12:22:25.000Z","size":11,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-04T19:06:00.811Z","etag":null,"topics":["dbconnectionstrings","dbprovider","dbproviderfactories","dbproviderfactory"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/godsharp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-14T06:48:29.000Z","updated_at":"2022-11-23T06:58:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"e1337052-1d24-499d-ae58-803382aed673","html_url":"https://github.com/godsharp/GodSharp.Data.Common.DbProvider","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godsharp%2FGodSharp.Data.Common.DbProvider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godsharp%2FGodSharp.Data.Common.DbProvider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godsharp%2FGodSharp.Data.Common.DbProvider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godsharp%2FGodSharp.Data.Common.DbProvider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/godsharp","download_url":"https://codeload.github.com/godsharp/GodSharp.Data.Common.DbProvider/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252329506,"owners_count":21730628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbconnectionstrings","dbprovider","dbproviderfactories","dbproviderfactory"],"created_at":"2024-11-13T04:52:14.170Z","updated_at":"2025-05-04T11:31:27.371Z","avatar_url":"https://github.com/godsharp.png","language":"C#","readme":"# GodSharp.Data.Common.DbProvider\nDbProviderFactory Factory libary for .NET Core.\n\n[![AppVeyor build status](https://img.shields.io/appveyor/ci/seayxu/godsharp-data-common-dbprovider.svg?label=appveyor\u0026style=flat-square)](https://ci.appveyor.com/project/seayxu/godsharp-data-common-dbprovider/) [![NuGet](https://img.shields.io/nuget/v/GodSharp.Data.Common.DbProvider.svg?label=nuget\u0026style=flat-square)](https://www.nuget.org/packages/GodSharp.Data.Common.DbProvider/) [![MyGet](https://img.shields.io/myget/seay/v/GodSharp.Data.Common.DbProvider.svg?label=myget\u0026style=flat-square)](https://www.myget.org/Package/Details/seay?packageType=nuget\u0026packageId=GodSharp.Data.Common.DbProvider)\n\nSupported netstandard1.3 and netstandard2.0.\n\n# Getting Started\n\n1. Install Nuget Package.\n\nSee [here](https://www.nuget.org/packages/GodSharp.Data.Common.DbProvider/).\n\n2. Add Json Parameters.\n\nYou can add to any json file,and then add this file.\n\nParameters format like below.\n\n``` json\n{\n  \"DbConnectionStrings\": [\n    {\n      \"name\": \"mssql\",\n      \"connectionString\": \"Data Source=localhost;Initial Catalog=Master;User Id=sa;Password=1234;\",\n      \"providerName\": \"System.Data.SqlClient\"\n    },\n    {\n      \"name\": \"mysql\",\n      \"connectionString\": \"Data Source=localhost;Initial Catalog=user;User Id=root;Password=1234;\",\n      \"providerName\": \"Pomelo.Data.MySql\"\n    },\n    {\n      \"name\": \"sqlite\",\n      \"connectionString\": \"Data Source=data.db\",\n      \"providerName\": \"Microsoft.Data.Sqlite\"\n    },\n    {\n      \"name\": \"pgsql\",\n      \"connectionString\": \"Host=localhost;Database=postgres;Username=postgres;Password=1234;\",\n      \"providerName\": \"Npgsql\"\n    }\n  ],\n  \"DbProviderFactories\": [\n    {\n      \"name\": \"SqlClient Data Provider\",\n      \"invariant\": \"System.Data.SqlClient\",\n      \"description\": \".Net Framework Data Provider for SqlServer\",\n      \"type\": \"System.Data.SqlClient.SqlClientFactory, System.Data.SqlClient\"\n    },\n    {\n      \"name\": \"MySQL Data Provider by Pomelo\",\n      \"invariant\": \"Pomelo.Data.MySql\",\n      \"description\": \".Net Framework Data Provider for MySql\",\n      \"type\": \"Pomelo.Data.MySql.MySqlClientFactory, Pomelo.Data.MySql\"\n    },\n    {\n      \"name\": \"SQLite Data Provider\",\n      \"invariant\": \"Microsoft.Data.Sqlite\",\n      \"description\": \".Net Framework Data Provider for SQLite\",\n      \"type\": \"Microsoft.Data.Sqlite.SqliteFactory, Microsoft.Data.Sqlite\"\n    },\n    {\n      \"name\": \"Npgsql Data Provider\",\n      \"invariant\": \"Npgsql\",\n      \"description\": \".Net Framework Data Provider for PostgreSql\",\n      \"type\": \"Npgsql.NpgsqlFactory, Npgsql\"\n    }\n  ]\n}\n```\n\n*Tips:`DbConnectionStrings` section is not required,but I strongly recommend you add this.*\n\n\n3. Load DbProviders and DbConnectionStrings[option].\n\n```\nvar builder = new ConfigurationBuilder()\n.SetBasePath(Directory.GetCurrentDirectory())\n// add json file\n.AddJsonFile(\"db.provider.json\");\n\nvar config = builder.Build();\n\n// Load DbProviders and DbConnectionStrings\nDbProviderManager.LoadConfiguration(config);\n```\n\n4. Get DbConnectionString.\n\n```\nDbConnectionStringSetting conn = DbConnectionStringManager.ConnectionStrings[\"sqlite\"];\n```\n\n\n5. Get DbConnectionFactory.\n\n```\nDbProviderFactory factory = DbProviderFactories.GetFactory(conn.ProviderName);\n```\n\n6. Use `DbProviderFactory` create `IDbConnection` and other.\n\nCreate `IDbConnection`\n```\nIDbConnection db = factory.CreateConnection();\n```\n\nUse `IDbConnection`.\n\n```\ndb.ConnectionString = conn.ConnectionString;\ndb.Open();\n\nvar cmd = db.CreateCommand();\ncmd.CommandText = \"select datetime('now');\";\nvar dt = cmd.ExecuteScalar();\nSystem.Console.WriteLine(dt);\n\ndb.Close();\n```\n\nYou can see the full code in test.","funding_links":[],"categories":["C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodsharp%2FGodSharp.Data.Common.DbProvider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodsharp%2FGodSharp.Data.Common.DbProvider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodsharp%2FGodSharp.Data.Common.DbProvider/lists"}