{"id":3206635,"name":"entityframework.toolkit","ecosystem":"nuget","description":"EntityFramework.Toolkit is a library which provides implementations for EntityFramework best practices, patterns, utilities and extensions.","homepage":"https://github.com/thomasgalliker/EntityFramework.Toolkit","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/thomasgalliker/EntityFramework.Toolkit","keywords_array":["Entity","Framework","EntityFramework","EF6","UnitOfWork","IUnitOfWork","Repository","IRepository","GenericRepository","IGenericRepository","DbContext","DbContextBase","ContextTestBase"],"namespace":null,"versions_count":78,"first_release_published_at":"2016-05-09T18:51:22.337Z","latest_release_published_at":"2026-01-23T22:23:37.057Z","latest_release_number":null,"last_synced_at":"2026-01-23T22:23:40.560Z","created_at":"2022-04-10T15:58:02.522Z","updated_at":"2026-01-23T22:23:40.560Z","registry_url":"https://www.nuget.org/packages/entityframework.toolkit/","install_command":"Install-Package entityframework.toolkit","documentation_url":null,"metadata":{"copyright":"(c) 2019 superdev GmbH","owners":"Thomas Galliker","license_url":"http://opensource.org/licenses/Apache-2.0","require_license_acceptance":true,"icon_url":"https://raw.githubusercontent.com/thomasgalliker/EntityFramework.Toolkit/master/EntityFramework.Toolkit.png","repository":{"type":"git","url":"https://github.com/thomasgalliker/EntityFramework.Toolkit","branch":null,"commit":null},"development_dependency":false,"serviceable":false,"framework_assemblies":[{"assembly_name":"Microsoft.CSharp","target_framework":".NETFramework4.0, .NETFramework4.5"},{"assembly_name":"System.Configuration","target_framework":".NETFramework4.0, .NETFramework4.5"},{"assembly_name":"System","target_framework":".NETFramework4.0, .NETFramework4.5"},{"assembly_name":"System.Transactions","target_framework":".NETFramework4.0, .NETFramework4.5"}],"package_types":[],"release_notes":"2.0.0\n- Renamed namespaces to EntityFramework.Toolkit.EF6\n- Removed obsolete code from version 1.x\n\n1.0.7\n- Add IDbConnection.DropDatabase extension method\n\n1.0.6\n- Bug fix in AuditDbContextBase: Prevent CreatedDate being updated if only ICreatedDate interface is used\n- Minor logging bug fix\n- New class ContextTestBase\u0026lt;TContext, TDbConnection\u0026gt; which takes generic argument T : IDbConnection\n- Swap IQueryIncluding\u0026lt;T\u0026gt;Get() method with IQueryable\u0026lt;T\u0026gt;Get()\n\n1.0.5\n- Minor fixes in release notes, namespaces, etc\n- Add AuditDateTimeKind to AuditDbContextBase\n      \n1.0.4\n- Add created/changed date tracking feature using ICreatedDate and IUpdatedDate interfaces\n- Add auditing feature to track entity history\n- Add extension method 'UpdateProperty' and 'UpdateProperties' to selectively update entity properties\n- Add extension method 'Unique' to mark multiple properties as composite unique index\n- Add query method Any as extension method\n- Add RemoveById as extension method\n- Extract IReadOnlyRepository, IWritableRepository and IRepository from IGenericRepository\n- Change GenericRepository to non-abstract\n- Add SaveAsync methods to IWritableRepository\n- Add SaveChangesAsync to IUnitOfWork\n- Add DbUpdateExceptionFormatter to format DbUpdateException messages\n\n1.0.3\n- Aggregate committed changes in a new type ChangeSet\n- Add new methods Update and AddOrUpdate to GenericRepository\n\n1.0.2\n- Split the abstractions off into EntityFramework.Toolkit.Core assembly which is not dependent on EntityFramework\n- Refactor GenericRepository to support AddRange and RemoveRange\n- Adjusted all namespaces to 'EntityFramework.Toolkit'\n\n1.0.1\n- Add AutoConfigure extension method to scan for and configure EntityTypeConfigurations.\n- Add IConcurrencyResolveStrategy with ClientWins, DatabaseWins and Rethrow (default) strategies\n- Add Name property to IDbConnection\n- Add QueryableExtensions.Include extension method\n\n1.0.0\n- Patterns such as UnitOfWork, Repository\n- Helper classes, e.g. DbContextBase, ContextTestBase\n- Generic way to seed data using IDataSeed and DataSeedBase\n- DbConnection abstraction IDbConnection to inject ConnectionString into EntityFramework context\n- EDMX tools to generate *.edmx file from EntityFramework context","dependency_summary":{"total_dependency_groups":2,"target_frameworks":[".NETFramework4.0",".NETFramework4.5"],"total_dependencies":4}},"repo_metadata":{"id":46057564,"uuid":"58400387","full_name":"thomasgalliker/EntityFramework.Toolkit","owner":"thomasgalliker","description":"EntityFramework best practices, patterns, utilities and extensions","archived":false,"fork":false,"pushed_at":"2019-06-15T19:17:55.000Z","size":13002,"stargazers_count":68,"open_issues_count":4,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-10-09T00:55:19.443Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomasgalliker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"patreon":"user?u=21232884"}},"created_at":"2016-05-09T18:54:43.000Z","updated_at":"2025-07-16T11:23:03.000Z","dependencies_parsed_at":"2022-09-03T20:02:49.722Z","dependency_job_id":null,"html_url":"https://github.com/thomasgalliker/EntityFramework.Toolkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thomasgalliker/EntityFramework.Toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasgalliker","download_url":"https://codeload.github.com/thomasgalliker/EntityFramework.Toolkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004908,"owners_count":26083802,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"thomasgalliker","name":"Thomas Galliker","uuid":"10376364","kind":"user","description":"C# / .NET mobile apps / Full-stack developer","email":"","website":"https://ch.linkedin.com/in/thomasgalliker","location":"Cham, Switzerland","twitter":null,"company":"superdev gmbh","icon_url":"https://avatars.githubusercontent.com/u/10376364?u=3ba1946be053d2499108c5eb58cb78221ff16b06\u0026v=4","repositories_count":46,"last_synced_at":"2025-10-09T00:55:02.129Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/thomasgalliker","funding_links":["https://github.com/sponsors/thomasgalliker"],"total_stars":1179,"followers":99,"following":44,"created_at":"2022-11-03T03:14:19.489Z","updated_at":"2025-10-09T00:55:02.129Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasgalliker","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasgalliker/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-12-31T10:36:58.793Z","dependent_packages_count":0,"downloads":140307,"downloads_period":"total","dependent_repos_count":8,"rankings":{"downloads":4.172598156591334,"dependent_repos_count":2.5146514408685396,"dependent_packages_count":20.684943640348,"stargazers_count":4.214911273657624,"forks_count":5.90199751335995,"docker_downloads_count":null,"average":7.49782040496509},"purl":"pkg:nuget/entityframework.toolkit","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nuget/entityframework.toolkit","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nuget/entityframework.toolkit","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nuget/entityframework.toolkit/dependencies","status":"deprecated","funding_links":["https://patreon.com/user?u=21232884","https://github.com/sponsors/thomasgalliker"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-21T11:59:29.861Z","issues_count":12,"pull_requests_count":4,"avg_time_to_close_issue":12022963.285714285,"avg_time_to_close_pull_request":35666731.0,"issues_closed_count":7,"pull_requests_closed_count":3,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":1.5833333333333333,"avg_comments_per_pull_request":0.25,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasgalliker%2FEntityFramework.Toolkit/issues","maintainers":[{"login":"thomasgalliker","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasgalliker"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/entityframework.toolkit/codemeta","maintainers":[{"uuid":"thomasgalliker","login":"thomasgalliker","name":null,"email":null,"url":null,"packages_count":66,"html_url":"https://www.nuget.org/profiles/thomasgalliker","role":null,"created_at":"2022-11-18T05:38:05.017Z","updated_at":"2022-11-18T05:38:05.017Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/thomasgalliker/packages"}]}