有没有办法在 Entity Framework + PostgreSql 中使用 ARRAY

Is there a way to use ARRAYs in Entity Framework + PostgreSql

是否可以在 Entity Framework 中将数组与 PostgreSql 一起使用?

例如,假设我们有 POCO class

        public class MyTable
        {
            [Key]
            [Column("gid")]
            public int Gid { get; set; }
            [Column("name")]
            public string Name { get; set; }
            [Column("email")]
            public string Email { get; set; }
            [Column("somedata")]
            public int[] SomeData { get; set; }
        }

此时 Entity Framework 根本不创建列 "somedata" 并跳过它。有没有办法做到这一点呢?我的意思是不必使用单独的 table。当您想将少量或有限数量的值存储到单个列中时,Postgres 数组会派上用场。

如果您使用 Entity Framework Core with the Npgsql EF Core provider 就可以做到这一点。

code-first 方法是:

[Column("somedata", TypeName = "integer[]")]
public int[] SomeData { get; set; }