{"action":"closed","issue":{"url":"https://api.github.com/repos/OpenRIAServices/TestIssues/issues/18","labels_url":"https://api.github.com/repos/OpenRIAServices/TestIssues/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/OpenRIAServices/TestIssues/issues/18/comments","events_url":"https://api.github.com/repos/OpenRIAServices/TestIssues/issues/18/events","html_url":"https://github.com/OpenRIAServices/TestIssues/issues/18","id":127538990,"number":18,"title":"Code first concurrency token fields are incorrectly decorated with RequiredAttribute","user":{"login":"STAH","id":2418242,"avatar_url":"https://avatars.githubusercontent.com/u/2418242?v=3","gravatar_id":"","url":"https://api.github.com/users/STAH","html_url":"https://github.com/STAH","followers_url":"https://api.github.com/users/STAH/followers","following_url":"https://api.github.com/users/STAH/following{/other_user}","gists_url":"https://api.github.com/users/STAH/gists{/gist_id}","starred_url":"https://api.github.com/users/STAH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/STAH/subscriptions","organizations_url":"https://api.github.com/users/STAH/orgs","repos_url":"https://api.github.com/users/STAH/repos","events_url":"https://api.github.com/users/STAH/events{/privacy}","received_events_url":"https://api.github.com/users/STAH/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-19T21:08:19Z","updated_at":"2016-01-19T21:08:21Z","closed_at":"2016-01-19T21:08:21Z","body":"<sub>This issue was imported from [CodePlex](http://openriaservices.codeplex.com/workitem/18)</sub>\r\n\r\n**[ColinBlair](https://github.com/ColinBlair)** <sup>wrote 2013-10-30 at 20:21</sup>\r\nWhen concurrency tokens (timestamp/rowversion) are correctly decorated as concurrency tokens in code first, they also get a Required attribute stamped on them. Since a \"new\" entity would not have a timestamp yet, and timestamps are read only, this breaks the client. \r\n\r\nThe existing workaround is to create an attribute named IsNotRequiredAttribute which inherits from RequiredAttribute but always returns a successful validation. The code generation system only generates a RequiredAttribute if not other RequiredAttribute already exists."}}