{"id":30493089,"url":"https://github.com/jacobspitzer/dbeasyconnect","last_synced_at":"2026-04-18T00:00:53.885Z","repository":{"id":118650822,"uuid":"380859052","full_name":"jacobSpitzer/DbEasyConnect","owner":"jacobSpitzer","description":"Communicate with any database the fastest way with easiest configuration in c#, and strongly typed written.","archived":false,"fork":false,"pushed_at":"2022-08-28T22:52:20.000Z","size":178,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"beta","last_synced_at":"2026-01-14T08:40:53.543Z","etag":null,"topics":["crud","dapper","database","dbeasyconnect","easy-connect","easyconnect","entity-framework","linq","sql","sql-server"],"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/jacobSpitzer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2021-06-27T23:45:33.000Z","updated_at":"2025-11-21T07:37:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"fede01c8-6b68-4372-8b43-6a79b82e8818","html_url":"https://github.com/jacobSpitzer/DbEasyConnect","commit_stats":null,"previous_names":["jacobspitzer/dapper.tquery"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jacobSpitzer/DbEasyConnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobSpitzer%2FDbEasyConnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobSpitzer%2FDbEasyConnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobSpitzer%2FDbEasyConnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobSpitzer%2FDbEasyConnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacobSpitzer","download_url":"https://codeload.github.com/jacobSpitzer/DbEasyConnect/tar.gz/refs/heads/beta","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobSpitzer%2FDbEasyConnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31950891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["crud","dapper","database","dbeasyconnect","easy-connect","easyconnect","entity-framework","linq","sql","sql-server"],"created_at":"2025-08-24T21:29:41.739Z","updated_at":"2026-04-18T00:00:53.843Z","avatar_url":"https://github.com/jacobSpitzer.png","language":"C#","readme":"# DbEasyConnect Library\n\n[![NuGet](https://img.shields.io/nuget/v/Dapper.TQuery.svg)](https://www.nuget.org/packages/Dapper.TQuery)\n[![NuGet](https://img.shields.io/nuget/dt/Dapper.TQuery.svg)](https://www.nuget.org/packages/Dapper.TQuery)\n\n## Description\n``DbEasyConnect`` is a c# based [NuGet Library](https://github.com/jacobSpitzer/DbEasyConnect) package that provides database connection services with the focus on the following three goals:\n* Get the fastest performance\n* Avoid configuration as much as possible\n* Support strong typed coding and avoid bugs and spelling mistakes.\n\n## background:\nI was using [Entity Framework](https://github.com/dotnet/ef6) for a long time and found it difficult to configure the database schema, binding, migrations, and repositories in addition to writing Data Models.\n\nI also found it difficult to modify any table / field in the database after the first creation and configuration, that requires to update the database directly, and use migration.\n\n[See a great article by Tim Corey about using Entity Framework](https://www.iamtimcorey.com/blog/137806/entity-framework). including the performance speed.\n\nAnd then, I found out about the [Dapper library](https://github.com/DapperLib/Dapper), a great open-source library created by the Stack Overflow team.\n\nBut, even that I found hard to use, because it's missing a lot of features provided by EF. like CRUD features, working with bulk insert/update, and it has the need of writing SQL and remember all table/field names, without any warnings on spelling mistakes, and missing a LINQ QUERYABLE option, so I need to download the whole table before querying with linq, which uses extra memory and lowers the performance.\n\nThere are alot of Dapper Extensions, where each extension has their own set of features, and thier limits and configurations. I was looking for a simpler solution with less configurations, less required packages, simple, and queryable method extensions that are similar to Linq.\n\nSo I started to create a new library that is based on ADO.NET, and Dapper. But gives you a strong typed coding experience, with all the features listed below.\n\n## Features\n* Using Dapper as the object mapper, with high fast performance\n* Gives a strong typed coding experience, to querying the database similar to entity framework, to avoid spelling mistakes, and to show the table fields while writing the code.\n* Stop writing any extra code for creating / migration. You just need to create classes with [Table] attribute, and some Data Annotations Attributes.\n* Use Dapper with LINQ QUERYABLE features. With the most (but not all) common features of Linq extensions.\n* Use the fastest easiest way for CRUD (Create, Read, Update, and Delete) operations, Find by ID, bulk insert/update/delete even with Entity List.\n\n## Beta\nThis project is still in beta version, since not all planned features are already finished. but it's tested and ready to use it as is.\nThe following planned features are still not finished:\n#### Support for other Database platforms.\nThe current version 0.1.2 is supporting only MS-SQL SERVER. \n\nPlanned Support for LocalDb, Ms Sql Server, Oracle, MySql, SqLite, PostgreSql.\n\nP. S. : most of the methods will already work on the other common Database Platforms.\n\nHere are a list for all known methods that will work only with MS-SQL SERVER and the Explanation of the limit.\n\nMethod       | Limit         | Explanation\n------------ | ------------- | ------------------------------\nCreateTable | limit | exp\nThis section will be updated soon...\n\n#### Coming Methods\nGroupBy, Count, Sum, Max, Min, Add/Modify/Delete Column, and more  \n#### Support to specifieng a table name different than the class name\n\n## Installation\nInstall with the Package Manager Console in Visual Studio (PowerShell)\n\n```sh\nPM\u003e Install-Package DbEasyConnect\n\n```\n\nInstall via Dotnet CLI\n\n```sh\ndotnet add package DbEasyConnect\n\n```\n\n\n## Basic Usage\n\nFirst create a class\n```sh\n[Table(\"Sample\")]\npublic class Sample\n{\n    public int Id { get; set; }\n    public string Field { get; set; }\n}\n```\n\nand then:\n\n```sh\n// Create a SqlConnection\nvar con = new SqlConnection(\"Server=YOUR.SERVER.COM; Database=DATABASE_NAME; User ID=USER_ID;Password=*******; Trusted_Connection=False; MultipleActiveResultSets=True\");\n// Get all records from the Sample Table\ncon.IDbEc\u003cSample\u003e().GetAll();          \n```\n[Check out the 'Start' wiki](https://github.com/jacobSpitzer/DbEasyConnect/wiki/IDbEcStartExtensions)\n\n#### How to write a Table Class\n\nIn order to get defined by the Library, you need to write all Table classes with the [Table(\"TableName\")] Attribute. only classes within your current project assembly will work.\nAdd the relevant references for that. like:\n\n```sh\nusing System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\n```\n\nPlease note: currently it doesn't matter what table name you specify in the Table attribute. the library will use the Class name to create/find the table on the database server.\n\n##### Data Types\n\nThis section will be updated soon...\n\n##### Data Annotations Attributes\n\nYou can use most of the [Data Annotations](https://docs.microsoft.com/en-us/ef/ef6/modeling/code-first/data-annotations) attributes to specify more properties on the Table/Field as explained in the following table:\n\nAttribute | Description | Example | Sql Property | Supported | MS-SQL SERVER | MySql | SqLite | PostgreSql | LocalDb\n----------|-------------|---------|--------------|-----------|---------------|-------|--------|------------|---------|\nDatabase Schema related Attributes \nTable | name of the table and define the schema | `Table(\"TableName\", Schema = \"dbo\")]` | TABLE NAME | :heavy_check_mark: | :heavy_check_mark: | \nColumn | name, data type, and order of the column | `[Column(\"Name\", Order = 2, TypeName = \"Varchar(100)\")]` |\nKey | set field(s) as the table primary key | `[Key]` | PRIMARY KEY | :heavy_check_mark: | :heavy_check_mark: |\nTimestamp\nConcurrencyCheck\nForeignKey\nInverseProperty\nIndex\nDatabaseGenerated\nComplexType\nNotMapped\n[Required] | NOT NULL | :heavy_check_mark: | :heavy_check_mark: |\n[Index(IsUnique=true)] | UNIQUE\n[ForeignKey(\"TableName\")] | FOREIGN KEY |\n[AutoIncrement] | Identity(1,1) | :heavy_check_mark: | :heavy_check_mark: |\n[DefaultValue(true)] | DEFAULT |\n[StringLength(50)] | LENGTH |\nValidation Attributes\nRequired\nMinLength\nMaxLength\nStringLength\n\n\n#### Create / Modify Tables \u0026 Database, Compare / Migrate Code Tables VS Server Database\n\n[Check out the 'Table \u0026 Database Methods' wiki](https://github.com/jacobSpitzer/DbEasyConnect/wiki/IDbEcTableExtensions)\n\n#### Supported Linq Methods\n\n[Check out the 'Linq Methods' wiki](https://github.com/jacobSpitzer/DbEasyConnect/wiki/IDbEcLinqExtensions)\n\n#### Get, Find, Insert, Update, Delete, InsertList, UpdateList, DeleteList\n\n[Check out the 'Crud Methods' wiki](https://github.com/jacobSpitzer/DbEasyConnect/wiki/IDbEcCrudExtensions)\n\n#### Full Library Reference\n\n[Check out the wiki](https://github.com/jacobSpitzer/DbEasyConnect/wiki/Home)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobspitzer%2Fdbeasyconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobspitzer%2Fdbeasyconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobspitzer%2Fdbeasyconnect/lists"}