{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/EntityFramework/issues/6304","repository_url":"https://api.github.com/repos/aspnet/EntityFramework","labels_url":"https://api.github.com/repos/aspnet/EntityFramework/issues/6304/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/EntityFramework/issues/6304/comments","events_url":"https://api.github.com/repos/aspnet/EntityFramework/issues/6304/events","html_url":"https://github.com/aspnet/EntityFramework/issues/6304","id":170739891,"number":6304,"title":"Expose way to get simple, human-readable, representation of the model for debugging","user":{"login":"ajcvickers","id":1430078,"avatar_url":"https://avatars.githubusercontent.com/u/1430078?v=3","gravatar_id":"","url":"https://api.github.com/users/ajcvickers","html_url":"https://github.com/ajcvickers","followers_url":"https://api.github.com/users/ajcvickers/followers","following_url":"https://api.github.com/users/ajcvickers/following{/other_user}","gists_url":"https://api.github.com/users/ajcvickers/gists{/gist_id}","starred_url":"https://api.github.com/users/ajcvickers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajcvickers/subscriptions","organizations_url":"https://api.github.com/users/ajcvickers/orgs","repos_url":"https://api.github.com/users/ajcvickers/repos","events_url":"https://api.github.com/users/ajcvickers/events{/privacy}","received_events_url":"https://api.github.com/users/ajcvickers/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aspnet/EntityFramework/labels/type-investigation","name":"type-investigation","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"ajcvickers","id":1430078,"avatar_url":"https://avatars.githubusercontent.com/u/1430078?v=3","gravatar_id":"","url":"https://api.github.com/users/ajcvickers","html_url":"https://github.com/ajcvickers","followers_url":"https://api.github.com/users/ajcvickers/followers","following_url":"https://api.github.com/users/ajcvickers/following{/other_user}","gists_url":"https://api.github.com/users/ajcvickers/gists{/gist_id}","starred_url":"https://api.github.com/users/ajcvickers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajcvickers/subscriptions","organizations_url":"https://api.github.com/users/ajcvickers/orgs","repos_url":"https://api.github.com/users/ajcvickers/repos","events_url":"https://api.github.com/users/ajcvickers/events{/privacy}","received_events_url":"https://api.github.com/users/ajcvickers/received_events","type":"User","site_admin":false},"assignees":[{"login":"ajcvickers","id":1430078,"avatar_url":"https://avatars.githubusercontent.com/u/1430078?v=3","gravatar_id":"","url":"https://api.github.com/users/ajcvickers","html_url":"https://github.com/ajcvickers","followers_url":"https://api.github.com/users/ajcvickers/followers","following_url":"https://api.github.com/users/ajcvickers/following{/other_user}","gists_url":"https://api.github.com/users/ajcvickers/gists{/gist_id}","starred_url":"https://api.github.com/users/ajcvickers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajcvickers/subscriptions","organizations_url":"https://api.github.com/users/ajcvickers/orgs","repos_url":"https://api.github.com/users/ajcvickers/repos","events_url":"https://api.github.com/users/ajcvickers/events{/privacy}","received_events_url":"https://api.github.com/users/ajcvickers/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/aspnet/EntityFramework/milestones/19","html_url":"https://github.com/aspnet/EntityFramework/milestones/1.1.0","labels_url":"https://api.github.com/repos/aspnet/EntityFramework/milestones/19/labels","id":1748298,"number":19,"title":"1.1.0","description":"","creator":{"login":"rowanmiller","id":4741851,"avatar_url":"https://avatars.githubusercontent.com/u/4741851?v=3","gravatar_id":"","url":"https://api.github.com/users/rowanmiller","html_url":"https://github.com/rowanmiller","followers_url":"https://api.github.com/users/rowanmiller/followers","following_url":"https://api.github.com/users/rowanmiller/following{/other_user}","gists_url":"https://api.github.com/users/rowanmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/rowanmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rowanmiller/subscriptions","organizations_url":"https://api.github.com/users/rowanmiller/orgs","repos_url":"https://api.github.com/users/rowanmiller/repos","events_url":"https://api.github.com/users/rowanmiller/events{/privacy}","received_events_url":"https://api.github.com/users/rowanmiller/received_events","type":"User","site_admin":false},"open_issues":111,"closed_issues":124,"state":"open","created_at":"2016-05-04T18:23:47Z","updated_at":"2016-08-12T18:53:26Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-08-11T20:36:15Z","updated_at":"2016-08-12T18:54:15Z","closed_at":null,"body":"There are some internal APIs called ToDebugString that allow a model to be dumped out in a form like this:\r\n```\r\nModel 1.1.0-csproj\r\n  Game\r\n    Properties: \r\n      Id (<Id>k__BackingField, int) Required PK ReadOnlyAfterSave RequiresValueGenerator ValueGenerated.OnAdd 0 0 0 -1 0\r\n    Navigations: \r\n      Items (<Items>k__BackingField, ICollection<Item>) Collection ToDependent Item Inverse: Game 1 -1 1 -1 -1\r\n      Levels (<Levels>k__BackingField, ICollection<Level>) Collection ToDependent Level Inverse: Game 2 -1 2 -1 -1\r\n    Keys: \r\n      Id PK\r\n  Item\r\n    Properties: \r\n      Id (<Id>k__BackingField, int) Required PK ReadOnlyAfterSave RequiresValueGenerator ValueGenerated.OnAdd 0 0 0 -1 0\r\n      GameId (<GameId>k__BackingField, int) Required FK Index 1 1 1 -1 1\r\n      LevelId (<LevelId>k__BackingField, int) Required FK Index 2 2 2 -1 -1\r\n    Navigations: \r\n      Game (<Game>k__BackingField, Game) ToPrincipal Game Inverse: Items 3 -1 3 -1 -1\r\n      Level (<Level>k__BackingField, Level) ToPrincipal Level Inverse: Items 4 -1 4 -1 -1\r\n    Keys: \r\n      Id PK\r\n    Foreign keys: \r\n      GameId -> Game.Id ToDependent: Items ToPrincipal: Game\r\n      GameId, LevelId -> Level.GameId, Level.Id ToDependent: Items ToPrincipal: Level\r\n  Level\r\n    Properties: \r\n      GameId (<GameId>k__BackingField, int) Required PK FK Index ReadOnlyAfterSave 0 0 0 -1 0\r\n      Id (<Id>k__BackingField, int) Required PK ReadOnlyAfterSave 1 1 1 -1 -1\r\n    Navigations: \r\n      Game (<Game>k__BackingField, Game) ToPrincipal Game Inverse: Levels 2 -1 2 -1 -1\r\n      Items (<Items>k__BackingField, ICollection<Item>) Collection ToDependent Item Inverse: Level 3 -1 3 -1 -1\r\n    Keys: \r\n      GameId, Id PK\r\n    Foreign keys: \r\n      GameId -> Game.Id ToDependent: Levels ToPrincipal: Game\r\n```\r\n\r\nThis is indented to be a relatively terse and not necessarily complete form useful for debugging the model. It is not intended as a serialization format.\r\n\r\nWe should consider if something like this should be made public, and if so what form it should take."},"comment":{"url":"https://api.github.com/repos/aspnet/EntityFramework/issues/comments/239530592","html_url":"https://github.com/aspnet/EntityFramework/issues/6304#issuecomment-239530592","issue_url":"https://api.github.com/repos/aspnet/EntityFramework/issues/6304","id":239530592,"user":{"login":"divega","id":1253414,"avatar_url":"https://avatars.githubusercontent.com/u/1253414?v=3","gravatar_id":"","url":"https://api.github.com/users/divega","html_url":"https://github.com/divega","followers_url":"https://api.github.com/users/divega/followers","following_url":"https://api.github.com/users/divega/following{/other_user}","gists_url":"https://api.github.com/users/divega/gists{/gist_id}","starred_url":"https://api.github.com/users/divega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divega/subscriptions","organizations_url":"https://api.github.com/users/divega/orgs","repos_url":"https://api.github.com/users/divega/repos","events_url":"https://api.github.com/users/divega/events{/privacy}","received_events_url":"https://api.github.com/users/divega/received_events","type":"User","site_admin":false},"created_at":"2016-08-12T18:54:15Z","updated_at":"2016-08-12T18:54:15Z","body":"**Triage:** We think this can be useful and @ajcvickers is going to investigate if this can be shown in the debugger automatically without introducing much overhead."}}
{"actor":{"display_login":"divega"}}