{"action":"opened","issue":{"url":"https://api.github.com/repos/Starcounter/Starcounter/issues/3214","labels_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/3214/labels{/name}","comments_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/3214/comments","events_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/3214/events","html_url":"https://github.com/Starcounter/Starcounter/issues/3214","id":123451263,"number":3214,"title":"Document: difference between unbound and properties bound to code-behind fields","user":{"login":"per-samuelsson","id":2902045,"avatar_url":"https://avatars.githubusercontent.com/u/2902045?v=3","gravatar_id":"","url":"https://api.github.com/users/per-samuelsson","html_url":"https://github.com/per-samuelsson","followers_url":"https://api.github.com/users/per-samuelsson/followers","following_url":"https://api.github.com/users/per-samuelsson/following{/other_user}","gists_url":"https://api.github.com/users/per-samuelsson/gists{/gist_id}","starred_url":"https://api.github.com/users/per-samuelsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/per-samuelsson/subscriptions","organizations_url":"https://api.github.com/users/per-samuelsson/orgs","repos_url":"https://api.github.com/users/per-samuelsson/repos","events_url":"https://api.github.com/users/per-samuelsson/events{/privacy}","received_events_url":"https://api.github.com/users/per-samuelsson/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Starcounter/Starcounter/labels/document","name":"document","color":"d7e102"},{"url":"https://api.github.com/repos/Starcounter/Starcounter/labels/Typed%20JSON","name":"Typed JSON","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-22T10:03:25Z","updated_at":"2015-12-22T10:03:25Z","closed_at":null,"body":"In the [JSON data binding](http://starcounter.io/guides/json/json-data-binding/) guide, we explain different ways to *bind* properties.\r\n\r\nThe default binding (**auto**) states that \r\n\r\n> [...] each property is matched against the code-behind [...] If a code-property with the same name or with a name specified as binding is found, the JSON property is treated as bound and getting and setting values to it will get and set the value on the underlying property **[comment: in the case of code-behind, this would be the code-behind property]**.\r\n\r\n> [...] If no matching property is found, the JSON property is treated as **unbound** and **values will be stored in the JSON**.\r\n\r\nFor me, its not clear what the difference is in terms of gained/lost functionality? More specifically, if my code-behind property is just a regular field, how does that differ from an \"unbound\" property? They are both stored on the JSON object, right? (After all, the code-behind defines the object class).\r\n\r\nLet's try document this eventually."}}