{"action":"created","comment":{"url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/comments/191080383","pull_request_review_id":123587661,"id":191080383,"diff_hunk":"@@ -0,0 +1,156 @@\n+﻿#region License\n+\n+// The PostgreSQL License\n+//\n+// Copyright (C) 2016 The Npgsql Development Team\n+//\n+// Permission to use, copy, modify, and distribute this software and its\n+// documentation for any purpose, without fee, and without a written\n+// agreement is hereby granted, provided that the above copyright notice\n+// and this paragraph and the following two paragraphs appear in all copies.\n+//\n+// IN NO EVENT SHALL THE NPGSQL DEVELOPMENT TEAM BE LIABLE TO ANY PARTY\n+// FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,\n+// INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS\n+// DOCUMENTATION, EVEN IF THE NPGSQL DEVELOPMENT TEAM HAS BEEN ADVISED OF\n+// THE POSSIBILITY OF SUCH DAMAGE.\n+//\n+// THE NPGSQL DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n+// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n+// AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS\n+// ON AN \"AS IS\" BASIS, AND THE NPGSQL DEVELOPMENT TEAM HAS NO OBLIGATIONS\n+// TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n+\n+#endregion\n+\n+using System;\n+using System.Linq.Expressions;\n+using JetBrains.Annotations;\n+using Npgsql.EntityFrameworkCore.PostgreSQL.Query.Sql.Internal;\n+using Npgsql.EntityFrameworkCore.PostgreSQL.Utilities;\n+\n+namespace Npgsql.EntityFrameworkCore.PostgreSQL.Query.Expressions.Internal\n+{\n+    /// <summary>\n+    /// Represents a PostgreSQL array ANY or ALL expression.\n+    /// </summary>\n+    /// <example>\n+    /// 1 = ANY ('{0,1,2}'), 'cat' LIKE ANY ('{a%,b%,c%}')\n+    /// </example>\n+    /// <remarks>\n+    /// See https://www.postgresql.org/docs/current/static/functions-comparisons.html\n+    /// </remarks>\n+    public class ArrayAnyAllExpression : Expression, IEquatable<ArrayAnyAllExpression>\n+    {\n+        /// <inheritdoc />\n+        public override ExpressionType NodeType { get; } = ExpressionType.Extension;\n+\n+        /// <inheritdoc />\n+        public override Type Type { get; } = typeof(bool);\n+\n+        /// <summary>\n+        /// The value to test against the <see cref=\"Array\"/>.\n+        /// </summary>\n+        public virtual Expression Operand { get; }\n+\n+        /// <summary>\n+        /// The array of values or patterns to test for the <see cref=\"Operand\"/>.\n+        /// </summary>\n+        public virtual Expression Array { get; }\n+\n+        /// <summary>\n+        /// The operator.\n+        /// </summary>\n+        public virtual string Operator { get; }\n+\n+        /// <summary>\n+        /// The comparison type.\n+        /// </summary>\n+        public virtual ArrayComparisonType ArrayComparisonType { get; }\n+\n+        /// <summary>\n+        /// Constructs a <see cref=\"ArrayAnyAllExpression\"/>.\n+        /// </summary>\n+        /// <param name=\"arrayComparisonType\">The comparison operator.</param>\n+        /// <param name=\"operatorSymbol\">The operator symbol to the array expression.</param>\n+        /// <param name=\"operand\">The value to find.</param>\n+        /// <param name=\"array\">The array to search.</param>\n+        /// <exception cref=\"ArgumentNullException\" />\n+        public ArrayAnyAllExpression(\n+            ArrayComparisonType arrayComparisonType,\n+            [NotNull] string operatorSymbol,\n+            [NotNull] Expression operand,\n+            [NotNull] Expression array)\n+        {\n+            Check.NotNull(operand, nameof(operand));\n+            Check.NotNull(array, nameof(array));\n+            Check.NotNull(array, nameof(operatorSymbol));\n+\n+            Operand = operand;\n+            Operator = operatorSymbol;\n+            Array = array;\n+            ArrayComparisonType = arrayComparisonType;\n+        }\n+\n+        /// <inheritdoc />\n+        protected override Expression Accept(ExpressionVisitor visitor)\n+            => visitor is NpgsqlQuerySqlGenerator npsgqlGenerator\n+                ? npsgqlGenerator.VisitArrayAnyAll(this)\n+                : base.Accept(visitor);\n+\n+        /// <inheritdoc />\n+        protected override Expression VisitChildren(ExpressionVisitor visitor)\n+        {\n+            if (!(visitor.Visit(Operand) is Expression operand))\n+                throw new ArgumentException($\"The {nameof(operand)} of a {nameof(ArrayAnyAllExpression)} cannot be null.\");\n+\n+            if (!(visitor.Visit(Array) is Expression collection))\n+                throw new ArgumentException($\"The {nameof(collection)} of a {nameof(ArrayAnyAllExpression)} cannot be null.\");\n+\n+            return\n+                operand == Operand && collection == Array\n+                    ? this\n+                    : new ArrayAnyAllExpression(ArrayComparisonType, Operator, operand, collection);\n+        }\n+\n+        /// <inheritdoc />\n+        public override bool Equals(object obj)\n+            => obj is ArrayAnyAllExpression likeAnyExpression && Equals(likeAnyExpression);\n+\n+        /// <inheritdoc />\n+        public bool Equals(ArrayAnyAllExpression other)\n+            => Operand.Equals(other?.Operand) &&\n+               Operator.Equals(other?.Operator) &&\n+               ArrayComparisonType.Equals(other?.ArrayComparisonType) &&\n+               Array.Equals(other?.Array);\n+\n+        /// <inheritdoc />\n+        public override int GetHashCode()\n+            => unchecked((397 * Operand.GetHashCode()) ^\n+                         (397 * Operator.GetHashCode()) ^\n+                         (397 * ArrayComparisonType.GetHashCode()) ^\n+                         (397 * Array.GetHashCode()));\n+\n+        /// <inheritdoc />\n+        public override string ToString()\n+            => $\"{Operand} {Operator} {ArrayComparisonType.ToString()} ({Array})\";\n+    }\n+\n+    /// <summary>\n+    /// Represents whether an array comparison is ANY or ALL.\n+    /// </summary>\n+    public enum ArrayComparisonType : byte\n+    {\n+        // ReSharper disable once InconsistentNaming\n+        /// <summary>\n+        /// Represents an ANY array comparison.\n+        /// </summary>\n+        ANY = 0,\n+\n+        // ReSharper disable once InconsistentNaming\n+        /// <summary>\n+        /// Represents an ALL array comparison.\n+        /// </summary>\n+        ALL = 1 << 0","path":"src/EFCore.PG/Query/Expressions/Internal/ArrayAnyAllExpression.cs","position":154,"original_position":154,"commit_id":"4ea4fba76e887b57e52fc7ce3a2b057e796ece6b","original_commit_id":"4ea4fba76e887b57e52fc7ce3a2b057e796ece6b","user":{"login":"roji","id":1862641,"avatar_url":"https://avatars0.githubusercontent.com/u/1862641?v=4","gravatar_id":"","url":"https://api.github.com/users/roji","html_url":"https://github.com/roji","followers_url":"https://api.github.com/users/roji/followers","following_url":"https://api.github.com/users/roji/following{/other_user}","gists_url":"https://api.github.com/users/roji/gists{/gist_id}","starred_url":"https://api.github.com/users/roji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roji/subscriptions","organizations_url":"https://api.github.com/users/roji/orgs","repos_url":"https://api.github.com/users/roji/repos","events_url":"https://api.github.com/users/roji/events{/privacy}","received_events_url":"https://api.github.com/users/roji/received_events","type":"User","site_admin":false},"body":"I don't think there's any reason to give values to this enum's members, as they're not meant to be persisted or transferred anywhere (and I'm curious as to the `<< 0` - you're really used to flag enums? :)).","created_at":"2018-05-27T15:36:47Z","updated_at":"2018-05-27T16:00:44Z","html_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430#discussion_r191080383","pull_request_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/comments/191080383"},"html":{"href":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430#discussion_r191080383"},"pull_request":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430"}}},"pull_request":{"url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430","id":190770107,"html_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430","diff_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430.diff","patch_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430.patch","issue_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/430","number":430,"state":"open","locked":false,"title":"Translate LIKE ANY expressions","user":{"login":"austindrenski","id":21338699,"avatar_url":"https://avatars3.githubusercontent.com/u/21338699?v=4","gravatar_id":"","url":"https://api.github.com/users/austindrenski","html_url":"https://github.com/austindrenski","followers_url":"https://api.github.com/users/austindrenski/followers","following_url":"https://api.github.com/users/austindrenski/following{/other_user}","gists_url":"https://api.github.com/users/austindrenski/gists{/gist_id}","starred_url":"https://api.github.com/users/austindrenski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austindrenski/subscriptions","organizations_url":"https://api.github.com/users/austindrenski/orgs","repos_url":"https://api.github.com/users/austindrenski/repos","events_url":"https://api.github.com/users/austindrenski/events{/privacy}","received_events_url":"https://api.github.com/users/austindrenski/received_events","type":"User","site_admin":false},"body":"# Translate LIKE ANY expressions\r\nWork in progress. See #422 for more information.\r\n\r\n## Status\r\n\r\nThis PR currently has very brittle support for translation.\r\n\r\n## Examples\r\n### 1. `Any` + `StartsWith`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.Any(y => x.SomeString.StartsWith(y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ANY ('{a%,b%,c%}');\r\n```\r\n\r\n### 2. `Any` + `EndsWith`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.Any(y => x.SomeString.EndsWith(y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ANY ('{%a,%b,%c}');\r\n```\r\n\r\n### 3. `Any` + `Like`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.Any(y => EF.Functions.Like(x.SomeString, y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ANY ('{a,b,c}');\r\n```\r\n\r\n### 4. `Any` + `ILike`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.Any(y => EF.Functions.ILike(x.SomeString, y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" ILIKE ANY ('{a,b,c}');\r\n```\r\n\r\n### 5. `All` + `StartsWith`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.All(y => x.SomeString.StartsWith(y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ALL ('{a%,b%,c%}');\r\n```\r\n\r\n### 6. `All` + `EndsWith`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.All(y => x.SomeString.EndsWith(y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ALL ('{%a,%b,%c}');\r\n```\r\n\r\n### 7. `All` + `Like`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.All(y => EF.Functions.Like(x.SomeString, y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" LIKE ALL ('{a,b,c}');\r\n```\r\n\r\n### 8. `All` + `ILike`\r\n```c#\r\nstring[] collection = new string[] { \"a\", \"b\", \"c\" };\r\n\r\nsource.Where(x => collection.All(y => EF.Functions.ILike(x.SomeString, y)));\r\n```\r\n```sql\r\nSELECT x.\"SomeProperty\"\r\nFROM source AS x\r\nWHERE x.\"SomeProperty\" ILIKE ALL ('{a,b,c}');\r\n```","created_at":"2018-05-27T04:28:16Z","updated_at":"2018-05-27T16:00:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"072246136079145a030706e510b94b5f1c3db413","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430/commits","review_comments_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430/comments","review_comment_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/comments{/number}","comments_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/430/comments","statuses_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/statuses/4ea4fba76e887b57e52fc7ce3a2b057e796ece6b","head":{"label":"austindrenski:translate-like-any","ref":"translate-like-any","sha":"4ea4fba76e887b57e52fc7ce3a2b057e796ece6b","user":{"login":"austindrenski","id":21338699,"avatar_url":"https://avatars3.githubusercontent.com/u/21338699?v=4","gravatar_id":"","url":"https://api.github.com/users/austindrenski","html_url":"https://github.com/austindrenski","followers_url":"https://api.github.com/users/austindrenski/followers","following_url":"https://api.github.com/users/austindrenski/following{/other_user}","gists_url":"https://api.github.com/users/austindrenski/gists{/gist_id}","starred_url":"https://api.github.com/users/austindrenski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austindrenski/subscriptions","organizations_url":"https://api.github.com/users/austindrenski/orgs","repos_url":"https://api.github.com/users/austindrenski/repos","events_url":"https://api.github.com/users/austindrenski/events{/privacy}","received_events_url":"https://api.github.com/users/austindrenski/received_events","type":"User","site_admin":false},"repo":{"id":123528424,"name":"Npgsql.EntityFrameworkCore.PostgreSQL","full_name":"austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL","owner":{"login":"austindrenski","id":21338699,"avatar_url":"https://avatars3.githubusercontent.com/u/21338699?v=4","gravatar_id":"","url":"https://api.github.com/users/austindrenski","html_url":"https://github.com/austindrenski","followers_url":"https://api.github.com/users/austindrenski/followers","following_url":"https://api.github.com/users/austindrenski/following{/other_user}","gists_url":"https://api.github.com/users/austindrenski/gists{/gist_id}","starred_url":"https://api.github.com/users/austindrenski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austindrenski/subscriptions","organizations_url":"https://api.github.com/users/austindrenski/orgs","repos_url":"https://api.github.com/users/austindrenski/repos","events_url":"https://api.github.com/users/austindrenski/events{/privacy}","received_events_url":"https://api.github.com/users/austindrenski/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL","description":"Entity Framework Core provider for PostgreSQL","fork":true,"url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL","forks_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/forks","keys_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/keys{/key_id}","collaborators_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/teams","hooks_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/hooks","issue_events_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/issues/events{/number}","events_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/events","assignees_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/assignees{/user}","branches_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/branches{/branch}","tags_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/tags","blobs_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/git/refs{/sha}","trees_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/git/trees{/sha}","statuses_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/statuses/{sha}","languages_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/languages","stargazers_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/stargazers","contributors_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/contributors","subscribers_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/subscribers","subscription_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/subscription","commits_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/commits{/sha}","git_commits_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/git/commits{/sha}","comments_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/comments{/number}","issue_comment_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/issues/comments{/number}","contents_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/contents/{+path}","compare_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/compare/{base}...{head}","merges_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/merges","archive_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/downloads","issues_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/issues{/number}","pulls_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/pulls{/number}","milestones_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/milestones{/number}","notifications_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/labels{/name}","releases_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/releases{/id}","deployments_url":"https://api.github.com/repos/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL/deployments","created_at":"2018-03-02T04:03:13Z","updated_at":"2018-05-26T19:54:39Z","pushed_at":"2018-05-27T15:51:21Z","git_url":"git://github.com/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL.git","ssh_url":"git@github.com:austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL.git","clone_url":"https://github.com/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL.git","svn_url":"https://github.com/austindrenski/Npgsql.EntityFrameworkCore.PostgreSQL","homepage":null,"size":1916,"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,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"dev"}},"base":{"label":"npgsql:dev","ref":"dev","sha":"651839dd9863e8e3a158b13df580769671dc695b","user":{"login":"npgsql","id":5766497,"avatar_url":"https://avatars2.githubusercontent.com/u/5766497?v=4","gravatar_id":"","url":"https://api.github.com/users/npgsql","html_url":"https://github.com/npgsql","followers_url":"https://api.github.com/users/npgsql/followers","following_url":"https://api.github.com/users/npgsql/following{/other_user}","gists_url":"https://api.github.com/users/npgsql/gists{/gist_id}","starred_url":"https://api.github.com/users/npgsql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/npgsql/subscriptions","organizations_url":"https://api.github.com/users/npgsql/orgs","repos_url":"https://api.github.com/users/npgsql/repos","events_url":"https://api.github.com/users/npgsql/events{/privacy}","received_events_url":"https://api.github.com/users/npgsql/received_events","type":"Organization","site_admin":false},"repo":{"id":55906763,"name":"Npgsql.EntityFrameworkCore.PostgreSQL","full_name":"npgsql/Npgsql.EntityFrameworkCore.PostgreSQL","owner":{"login":"npgsql","id":5766497,"avatar_url":"https://avatars2.githubusercontent.com/u/5766497?v=4","gravatar_id":"","url":"https://api.github.com/users/npgsql","html_url":"https://github.com/npgsql","followers_url":"https://api.github.com/users/npgsql/followers","following_url":"https://api.github.com/users/npgsql/following{/other_user}","gists_url":"https://api.github.com/users/npgsql/gists{/gist_id}","starred_url":"https://api.github.com/users/npgsql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/npgsql/subscriptions","organizations_url":"https://api.github.com/users/npgsql/orgs","repos_url":"https://api.github.com/users/npgsql/repos","events_url":"https://api.github.com/users/npgsql/events{/privacy}","received_events_url":"https://api.github.com/users/npgsql/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL","description":"Entity Framework Core provider for PostgreSQL","fork":false,"url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL","forks_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/forks","keys_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/keys{/key_id}","collaborators_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/teams","hooks_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/hooks","issue_events_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/events{/number}","events_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/events","assignees_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/assignees{/user}","branches_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/branches{/branch}","tags_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/tags","blobs_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/git/refs{/sha}","trees_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/git/trees{/sha}","statuses_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/statuses/{sha}","languages_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/languages","stargazers_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/stargazers","contributors_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/contributors","subscribers_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/subscribers","subscription_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/subscription","commits_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/commits{/sha}","git_commits_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/git/commits{/sha}","comments_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/comments{/number}","issue_comment_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/comments{/number}","contents_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/contents/{+path}","compare_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/compare/{base}...{head}","merges_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/merges","archive_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/downloads","issues_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues{/number}","pulls_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls{/number}","milestones_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/milestones{/number}","notifications_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/labels{/name}","releases_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/releases{/id}","deployments_url":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/deployments","created_at":"2016-04-10T15:26:37Z","updated_at":"2018-05-27T15:43:09Z","pushed_at":"2018-05-27T15:51:23Z","git_url":"git://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL.git","ssh_url":"git@github.com:npgsql/Npgsql.EntityFrameworkCore.PostgreSQL.git","clone_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL.git","svn_url":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL","homepage":null,"size":1834,"stargazers_count":255,"watchers_count":255,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":51,"mirror_url":null,"archived":false,"open_issues_count":72,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":51,"open_issues":72,"watchers":255,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430"},"html":{"href":"https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pull/430"},"issue":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/430"},"comments":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/430/comments"},"review_comments":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430/comments"},"review_comment":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/pulls/430/commits"},"statuses":{"href":"https://api.github.com/repos/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/statuses/4ea4fba76e887b57e52fc7ce3a2b057e796ece6b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"roji"}}