{"id":23740218,"url":"https://github.com/mustaddon/entitydynamicattributes","last_synced_at":"2026-03-03T22:30:21.931Z","repository":{"id":187146615,"uuid":"676401521","full_name":"mustaddon/EntityDynamicAttributes","owner":"mustaddon","description":"Entity Dynamic Attributes","archived":false,"fork":false,"pushed_at":"2024-02-10T21:21:33.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T09:47:26.133Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mustaddon.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}},"created_at":"2023-08-09T05:52:49.000Z","updated_at":"2023-08-09T06:00:24.000Z","dependencies_parsed_at":"2024-02-10T22:27:37.563Z","dependency_job_id":"fdfab079-e351-47d0-9670-44aa78b777c5","html_url":"https://github.com/mustaddon/EntityDynamicAttributes","commit_stats":null,"previous_names":["mustaddon/entitydynamicattributes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustaddon%2FEntityDynamicAttributes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustaddon%2FEntityDynamicAttributes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustaddon%2FEntityDynamicAttributes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustaddon%2FEntityDynamicAttributes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mustaddon","download_url":"https://codeload.github.com/mustaddon/EntityDynamicAttributes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239886547,"owners_count":19713501,"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-31T09:47:29.704Z","updated_at":"2026-03-03T22:30:21.821Z","avatar_url":"https://github.com/mustaddon.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EntityDynamicAttributes [![NuGet version](https://badge.fury.io/nu/EntityDynamicAttributes.svg?)](http://badge.fury.io/nu/EntityDynamicAttributes)\n\n## Features\n* Lambda expressions\n* Property dependencies autodetection \n* Sub-object property configurations\n* Async attribute values support\n* WebApi endpoint ready\n\n\n## Create configuration\n```C#\npublic class MyClassConfig : TypeConfig\u003cMyClass\u003e\n{\n    public MyClassConfig()\n    {\n        Property(x =\u003e x.SomeProp1)\n            .Attribute(\"static_attr\")\n            .Attribute(\"expression_attr\", x =\u003e x.Entity.SomeProp2 \u003e 0)\n            .Attribute(\"value_attr\", x =\u003e 100 * x.Entity.SomeProp3)\n            .Attribute(\"task_value_attr\", x =\u003e x.ServiceProvider.GetRequiredService\u003cMyService\u003e().AsyncMethod(x.CancellationToken));\n\n        Property(x =\u003e x.ComplexProp.SubProp1)\n            .Required(x =\u003e x.Entity.SomeProp2 \u003e 0)\n            .Hidden(x =\u003e !x.Entity.SomeProp3);\n    }\n}\n```\n\n\n## Add EDA services to your ServiceCollection\n```C#\nusing EntityDynamicAttributes;\n\nbuilder.Services.AddEntityDynamicAttributes(typeof(MyClassConfig).Assembly);\n```\n\n\n## Build schema with ISchemaBuilder\n```C#\nvar schema = await services.GetRequiredService\u003cISchemaBuilder\u003cMyClass\u003e\u003e()\n    .Build(new MyClass());\n```\n\n\n## Example projects\n* [ConsoleApp](https://github.com/mustaddon/EntityDynamicAttributes/tree/main/Examples/Example.ConsoleApp)\n* [WebApi](https://github.com/mustaddon/EntityDynamicAttributes/tree/main/Examples/Example.WebApi)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustaddon%2Fentitydynamicattributes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmustaddon%2Fentitydynamicattributes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustaddon%2Fentitydynamicattributes/lists"}