{"id":22538379,"url":"https://github.com/shuttle/shuttle.recall.efcore.sqlserver.eventprocessing","last_synced_at":"2025-03-28T06:43:32.018Z","repository":{"id":265845517,"uuid":"890417287","full_name":"Shuttle/Shuttle.Recall.EFCore.SqlServer.EventProcessing","owner":"Shuttle","description":"Entity Framework Core Sql Server Event Processing implementation.","archived":false,"fork":false,"pushed_at":"2024-12-01T06:44:41.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T07:28:52.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shuttle.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":"2024-11-18T14:31:59.000Z","updated_at":"2024-12-01T06:44:44.000Z","dependencies_parsed_at":"2024-12-02T01:02:15.473Z","dependency_job_id":null,"html_url":"https://github.com/Shuttle/Shuttle.Recall.EFCore.SqlServer.EventProcessing","commit_stats":null,"previous_names":["shuttle/shuttle.recall.efcore.sqlserver.eventprocessing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Recall.EFCore.SqlServer.EventProcessing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Recall.EFCore.SqlServer.EventProcessing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Recall.EFCore.SqlServer.EventProcessing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Recall.EFCore.SqlServer.EventProcessing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shuttle","download_url":"https://codeload.github.com/Shuttle/Shuttle.Recall.EFCore.SqlServer.EventProcessing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984556,"owners_count":20704794,"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":[],"created_at":"2024-12-07T11:11:47.688Z","updated_at":"2025-03-28T06:43:31.994Z","avatar_url":"https://github.com/Shuttle.png","language":"C#","readme":"# Shuttle.Recall.EFCore.SqlServer.Storage\n\n```\nPM\u003e Install-Package Shuttle.Recall.EFCore.SqlServer.Storage\n```\n\nAn Entity Framework Core Sql Server implementation of the `Shuttle.Recall` event sourcing dependencies.\n\n## Configuration\n\n```c#\nservices.AddSqlServerEventStorage(builder =\u003e {\n    builder.UseSqlServer();\n});\n```\n\n## Database\n\n\n\n## IKeyStore\n\nYou are bound to run into situations where you have a business or other key that is required to be unique.  Given that the `IEventStore` makes use of only surrogate keys the `IKeyStore` is used to create a unique list of keys associated with a given aggregate identifier.\n\nSince the keys used in the key store have to be unique you should ensure that they contain enough information to be unique and have the intended meaning.\n\nA key could be something such as `[order-number]:ord-001/2016`, `[customer-onboarding]:id-number=0000005555089`, or `[system-name/profile]:672cda1c-c3ec-4f81-a577-e64f9f14e141`.\n\n### Contains\n\n``` c#\nbool Contains(string key);\n```\n\nReturns `true` if the given `key` has an associated aggregate identifier.\n\n---\n``` c#\nbool Contains(Guid id);\n```\n\nReturns `true` if the given `id` is present in the key store.\n\n---\n### Get\n\n``` c#\nGuid? Get(string key);\n```\n\nReturns the `Guid` associated with the given key; else `null`.\n\n---\n### Remove\n\n``` c#\nvoid Remove(string key);\nvoid Remove(Guid id);\n```\n\nWhen specifying the `key` the assocation with the identifier will be removed.  When specifying the `id` all keys associated with the given `id` will be removed.\n\n---\n### Add\n\n``` c#\nvoid Add(Guid id, string key);\n```\n\nCreates an association between the `id` and the `key`.\n\n---\n### Add\n\n``` c#\nvoid Rekey(string key, string rekey);\n```\n\nChanges `key` to a new key specified by `rekey`.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.recall.efcore.sqlserver.eventprocessing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuttle%2Fshuttle.recall.efcore.sqlserver.eventprocessing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.recall.efcore.sqlserver.eventprocessing/lists"}