{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/comments/148368625","pull_request_review_id":73600538,"id":148368625,"diff_hunk":"@@ -0,0 +1,657 @@\n+// Copyright (c) .NET Foundation. All rights reserved.\n+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n+\n+using System;\n+using System.Collections.Generic;\n+using System.Data;\n+using System.Data.Common;\n+using System.Linq;\n+using Microsoft.EntityFrameworkCore.Diagnostics;\n+using Microsoft.EntityFrameworkCore.Internal;\n+using Microsoft.EntityFrameworkCore.Metadata;\n+using Microsoft.EntityFrameworkCore.Migrations;\n+using Microsoft.EntityFrameworkCore.Scaffolding.Metadata;\n+using Microsoft.EntityFrameworkCore.Utilities;\n+using Oracle.ManagedDataAccess.Client;\n+using System.Text;\n+using System.Text.RegularExpressions;\n+using System.Globalization;\n+\n+namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal\n+{\n+    /// <summary>\n+    ///     This API supports the Entity Framework Core infrastructure and is not intended to be used\n+    ///     directly from your code. This API may change or be removed in future releases.\n+    /// </summary>\n+    public class OracleDatabaseModelFactory : IDatabaseModelFactory\n+    {\n+        private DatabaseModel _databaseModel = null;\n+        private readonly IDiagnosticsLogger<DbLoggerCategory.Scaffolding> _logger;\n+\n+        private const string NamePartRegex\n+            = @\"(?:(?:\\[(?<part{0}>(?:(?:\\]\\])|[^\\]])+)\\])|(?<part{0}>[^\\.\\[\\]]+))\";\n+\n+        private static readonly Regex _partExtractor\n+            = new Regex(\n+                string.Format(\n+                    CultureInfo.InvariantCulture,\n+                    @\"^{0}(?:\\.{1})?$\",\n+                    string.Format(CultureInfo.InvariantCulture, NamePartRegex, 1),\n+                    string.Format(CultureInfo.InvariantCulture, NamePartRegex, 2)),\n+                RegexOptions.Compiled,\n+                TimeSpan.FromMilliseconds(1000.0));\n+\n+        /// <summary>\n+        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used\n+        ///     directly from your code. This API may change or be removed in future releases.\n+        /// </summary>\n+        public OracleDatabaseModelFactory(IDiagnosticsLogger<DbLoggerCategory.Scaffolding> logger)\n+        {\n+            Check.NotNull(logger, nameof(logger));\n+\n+            _logger = logger;\n+        }\n+\n+        /// <summary>\n+        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used\n+        ///     directly from your code. This API may change or be removed in future releases.\n+        /// </summary>\n+        public virtual DatabaseModel Create(string connectionString, IEnumerable<string> tables, IEnumerable<string> schemas)\n+        {\n+            Check.NotEmpty(connectionString, nameof(connectionString));\n+            Check.NotNull(tables, nameof(tables));\n+            Check.NotNull(schemas, nameof(schemas));\n+\n+            using (var connection = new OracleConnection(connectionString))\n+            {\n+                return Create(connection, tables, schemas);\n+            }\n+        }\n+\n+        /// <summary>\n+        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used\n+        ///     directly from your code. This API may change or be removed in future releases.\n+        /// </summary>\n+        public virtual DatabaseModel Create(DbConnection connection, IEnumerable<string> tables, IEnumerable<string> schemas)\n+        {\n+            Check.NotNull(connection, nameof(connection));\n+            Check.NotNull(tables, nameof(tables));\n+            Check.NotNull(schemas, nameof(schemas));\n+\n+            _databaseModel = new DatabaseModel();\n+\n+            var connectionStartedOpen = connection.State == ConnectionState.Open;\n+            if (!connectionStartedOpen)\n+            {\n+                connection.Open();\n+            }\n+            try\n+            {\n+                _databaseModel.DefaultSchema = GetDefaultSchema(connection);\n+\n+                var schemaList = schemas.ToList();\n+                var schemaFilter = GenerateSchemaFilter(schemaList);\n+                var tableList = tables.ToList();\n+                var tableFilter = GenerateTableFilter(tableList.Select(Parse).ToList(), schemaFilter);\n+\n+                GetTables(connection, tableFilter);\n+                return _databaseModel;\n+            }\n+            finally\n+            {\n+                if (!connectionStartedOpen)\n+                {\n+                    connection.Close();\n+                }\n+            }\n+        }\n+\n+        private void GetTables(DbConnection connection, Func<string, string, string> tableFilter)\n+        {\n+            using (var command = connection.CreateCommand())\n+            {\n+\n+                var queryBuilder = new StringBuilder()\n+                    .AppendLine(\"select\")\n+                    .AppendLine(\"t.tablespace_name as schema,\")\n+                    .AppendLine(\"t.table_name as name\")\n+                    .AppendLine(\"from user_tables t\");\n+\n+                var filter = $\"where t.table_name<>'{HistoryRepository.DefaultTableName}'\";\n+\n+                if (tableFilter != null)\n+                {\n+                    filter += \"and \" + tableFilter(\"t.tablespace_name\", \"t.table_name\");\n+                }\n+                queryBuilder.AppendLine(filter);\n+\n+                command.CommandText = queryBuilder.ToString();\n+\n+                using (var reader = (OracleDataReader)command.ExecuteReader())\n+                {\n+                    while (reader.Read())\n+                    {\n+                        var schema = reader.GetValueOrDefault<string>(\"schema\");\n+                        var name = reader.GetValueOrDefault<string>(\"name\");\n+\n+                        _logger.TableFound(DisplayName(schema, name));\n+\n+                        var table = new DatabaseTable\n+                        {\n+                            Schema = schema,\n+                            Name = name\n+                        };\n+\n+                        _databaseModel.Tables.Add(table);\n+                    }\n+                }\n+\n+                GetColumns(connection, filter);\n+                GetForeignKeys(connection, filter);\n+                GetIndexes(connection, filter);\n+            }\n+        }\n+\n+        private void GetColumns(DbConnection connection, string tableFilter)\n+        {\n+            using (var command = connection.CreateCommand())\n+            {\n+                command.CommandText = new StringBuilder()\n+                .AppendLine(\"create or replace function efcore_oracle_get_data_default_temp(\")\n+                .AppendLine(\"p_tableName varchar2,\")\n+                .AppendLine(\"p_columnName varchar2\")\n+                .AppendLine(\") return varchar2 is\")\n+                .AppendLine(\"v_dataDefault varchar2(4000);\")\n+                .AppendLine(\"begin\")\n+                .AppendLine(\"select data_default\")\n+                .AppendLine(\"into v_dataDefault\")\n+                .AppendLine(\"from all_tab_columns c\")\n+                .AppendLine(\"where c.table_name = p_tableName\")\n+                .AppendLine(\"and c.column_name = p_columnName;\")\n+                .AppendLine(\"return v_dataDefault;\")\n+                .AppendLine(\"end;\")\n+                .ToString();\n+                command.ExecuteNonQuery();\n+\n+                command.CommandText = new StringBuilder()\n+                    .AppendLine(\"select\")\n+                    .AppendLine(\"   t.tablespace_name as table_schema,\")\n+                    .AppendLine(\"   c.table_name,\")\n+                    .AppendLine(\"   c.column_name,\")\n+                    .AppendLine(\"   c.column_id as ordinal,\")\n+                    .AppendLine(\"   null as type_schema,\")\n+                    .AppendLine(\"   c.data_type type_name,\")","path":"samples/OracleProvider/src/OracleProvider/Scaffolding/Internal/OracleDatabaseModelFactory.cs","position":183,"original_position":183,"commit_id":"589890b041f10835427a55eb1faa6e3a6daaf2cd","original_commit_id":"589890b041f10835427a55eb1faa6e3a6daaf2cd","user":{"login":"smitpatel","id":1528107,"avatar_url":"https://avatars0.githubusercontent.com/u/1528107?v=4","gravatar_id":"","url":"https://api.github.com/users/smitpatel","html_url":"https://github.com/smitpatel","followers_url":"https://api.github.com/users/smitpatel/followers","following_url":"https://api.github.com/users/smitpatel/following{/other_user}","gists_url":"https://api.github.com/users/smitpatel/gists{/gist_id}","starred_url":"https://api.github.com/users/smitpatel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smitpatel/subscriptions","organizations_url":"https://api.github.com/users/smitpatel/orgs","repos_url":"https://api.github.com/users/smitpatel/repos","events_url":"https://api.github.com/users/smitpatel/events{/privacy}","received_events_url":"https://api.github.com/users/smitpatel/received_events","type":"User","site_admin":false},"body":"No need to alias things if not processed. You can use as is. This is provider specific code and it does not need to select exact column names from query.","created_at":"2017-11-01T20:02:46Z","updated_at":"2017-11-01T20:02:46Z","html_url":"https://github.com/aspnet/EntityFrameworkCore/pull/10146#discussion_r148368625","pull_request_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/comments/148368625"},"html":{"href":"https://github.com/aspnet/EntityFrameworkCore/pull/10146#discussion_r148368625"},"pull_request":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146","id":148284046,"html_url":"https://github.com/aspnet/EntityFrameworkCore/pull/10146","diff_url":"https://github.com/aspnet/EntityFrameworkCore/pull/10146.diff","patch_url":"https://github.com/aspnet/EntityFrameworkCore/pull/10146.patch","issue_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/10146","number":10146,"state":"open","locked":false,"title":"Implementation of Scaffolding for Oracle.","user":{"login":"ralmsdeveloper","id":16335882,"avatar_url":"https://avatars0.githubusercontent.com/u/16335882?v=4","gravatar_id":"","url":"https://api.github.com/users/ralmsdeveloper","html_url":"https://github.com/ralmsdeveloper","followers_url":"https://api.github.com/users/ralmsdeveloper/followers","following_url":"https://api.github.com/users/ralmsdeveloper/following{/other_user}","gists_url":"https://api.github.com/users/ralmsdeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/ralmsdeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ralmsdeveloper/subscriptions","organizations_url":"https://api.github.com/users/ralmsdeveloper/orgs","repos_url":"https://api.github.com/users/ralmsdeveloper/repos","events_url":"https://api.github.com/users/ralmsdeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/ralmsdeveloper/received_events","type":"User","site_admin":false},"body":"Here is a small implementation of scaffolding for Oracle.\r\n\r\n### Tables I used as an example:\r\n \r\n[TableOracle.txt](https://github.com/aspnet/EntityFrameworkCore/files/1409429/TableOracle.txt)\r\n\r\n### Result obtained:\r\n \r\n[Context.txt](https://github.com/aspnet/EntityFrameworkCore/files/1409430/Context.txt)\r\n\r\n### Used command\r\n\r\n_Scaffold-DbContext \"USER ID=ralms_dev;PASSWORD=ralms_dev;DATA SOURCE=127.0.0.1:1521/ralms_ef\" Microsoft.EntityFrameworkCore.Oracle -OutputDir SampleModels -force -v_\r\n\r\n","created_at":"2017-10-24T02:35:37Z","updated_at":"2017-11-01T20:02:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ac18731aea076323f7ecff1be2702a2701b8780d","assignee":null,"assignees":[],"requested_reviewers":[{"login":"anpete","id":1210944,"avatar_url":"https://avatars0.githubusercontent.com/u/1210944?v=4","gravatar_id":"","url":"https://api.github.com/users/anpete","html_url":"https://github.com/anpete","followers_url":"https://api.github.com/users/anpete/followers","following_url":"https://api.github.com/users/anpete/following{/other_user}","gists_url":"https://api.github.com/users/anpete/gists{/gist_id}","starred_url":"https://api.github.com/users/anpete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anpete/subscriptions","organizations_url":"https://api.github.com/users/anpete/orgs","repos_url":"https://api.github.com/users/anpete/repos","events_url":"https://api.github.com/users/anpete/events{/privacy}","received_events_url":"https://api.github.com/users/anpete/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146/commits","review_comments_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146/comments","review_comment_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/10146/comments","statuses_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/statuses/589890b041f10835427a55eb1faa6e3a6daaf2cd","head":{"label":"ralmsdeveloper:EFCore","ref":"EFCore","sha":"589890b041f10835427a55eb1faa6e3a6daaf2cd","user":{"login":"ralmsdeveloper","id":16335882,"avatar_url":"https://avatars0.githubusercontent.com/u/16335882?v=4","gravatar_id":"","url":"https://api.github.com/users/ralmsdeveloper","html_url":"https://github.com/ralmsdeveloper","followers_url":"https://api.github.com/users/ralmsdeveloper/followers","following_url":"https://api.github.com/users/ralmsdeveloper/following{/other_user}","gists_url":"https://api.github.com/users/ralmsdeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/ralmsdeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ralmsdeveloper/subscriptions","organizations_url":"https://api.github.com/users/ralmsdeveloper/orgs","repos_url":"https://api.github.com/users/ralmsdeveloper/repos","events_url":"https://api.github.com/users/ralmsdeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/ralmsdeveloper/received_events","type":"User","site_admin":false},"repo":{"id":106928249,"name":"EntityFrameworkCore","full_name":"ralmsdeveloper/EntityFrameworkCore","owner":{"login":"ralmsdeveloper","id":16335882,"avatar_url":"https://avatars0.githubusercontent.com/u/16335882?v=4","gravatar_id":"","url":"https://api.github.com/users/ralmsdeveloper","html_url":"https://github.com/ralmsdeveloper","followers_url":"https://api.github.com/users/ralmsdeveloper/followers","following_url":"https://api.github.com/users/ralmsdeveloper/following{/other_user}","gists_url":"https://api.github.com/users/ralmsdeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/ralmsdeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ralmsdeveloper/subscriptions","organizations_url":"https://api.github.com/users/ralmsdeveloper/orgs","repos_url":"https://api.github.com/users/ralmsdeveloper/repos","events_url":"https://api.github.com/users/ralmsdeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/ralmsdeveloper/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ralmsdeveloper/EntityFrameworkCore","description":"Entity Framework Core is a lightweight and extensible version of the popular Entity Framework data access technology","fork":true,"url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore","forks_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/forks","keys_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/teams","hooks_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/hooks","issue_events_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/issues/events{/number}","events_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/events","assignees_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/assignees{/user}","branches_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/branches{/branch}","tags_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/tags","blobs_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/git/refs{/sha}","trees_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/statuses/{sha}","languages_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/languages","stargazers_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/stargazers","contributors_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/contributors","subscribers_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/subscribers","subscription_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/subscription","commits_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/commits{/sha}","git_commits_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/git/commits{/sha}","comments_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/comments{/number}","issue_comment_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/issues/comments{/number}","contents_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/contents/{+path}","compare_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/merges","archive_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/downloads","issues_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/issues{/number}","pulls_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/pulls{/number}","milestones_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/milestones{/number}","notifications_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/labels{/name}","releases_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/releases{/id}","deployments_url":"https://api.github.com/repos/ralmsdeveloper/EntityFrameworkCore/deployments","created_at":"2017-10-14T13:03:03Z","updated_at":"2017-10-14T13:03:11Z","pushed_at":"2017-10-30T17:24:03Z","git_url":"git://github.com/ralmsdeveloper/EntityFrameworkCore.git","ssh_url":"git@github.com:ralmsdeveloper/EntityFrameworkCore.git","clone_url":"https://github.com/ralmsdeveloper/EntityFrameworkCore.git","svn_url":"https://github.com/ralmsdeveloper/EntityFrameworkCore","homepage":"https://docs.microsoft.com/ef/core","size":54634,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"EFCore"}},"base":{"label":"aspnet:dev","ref":"dev","sha":"ed629d65089bc7b1bbd6853c335e541df5a5ae7e","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":16157746,"name":"EntityFrameworkCore","full_name":"aspnet/EntityFrameworkCore","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/EntityFrameworkCore","description":"Entity Framework Core is a lightweight and extensible version of the popular Entity Framework data access technology","fork":false,"url":"https://api.github.com/repos/aspnet/EntityFrameworkCore","forks_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/forks","keys_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/teams","hooks_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/hooks","issue_events_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/events","assignees_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/tags","blobs_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/languages","stargazers_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/stargazers","contributors_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/contributors","subscribers_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/subscribers","subscription_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/subscription","commits_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/merges","archive_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/downloads","issues_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/EntityFrameworkCore/deployments","created_at":"2014-01-23T00:52:01Z","updated_at":"2017-11-01T19:21:59Z","pushed_at":"2017-11-01T17:46:45Z","git_url":"git://github.com/aspnet/EntityFrameworkCore.git","ssh_url":"git@github.com:aspnet/EntityFrameworkCore.git","clone_url":"https://github.com/aspnet/EntityFrameworkCore.git","svn_url":"https://github.com/aspnet/EntityFrameworkCore","homepage":"https://docs.microsoft.com/ef/core","size":54759,"stargazers_count":5153,"watchers_count":5153,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1475,"mirror_url":null,"archived":false,"open_issues_count":666,"forks":1475,"open_issues":666,"watchers":5153,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146"},"html":{"href":"https://github.com/aspnet/EntityFrameworkCore/pull/10146"},"issue":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/10146"},"comments":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/issues/10146/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/pulls/10146/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/EntityFrameworkCore/statuses/589890b041f10835427a55eb1faa6e3a6daaf2cd"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"smitpatel"}}