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

时间:2015-03-21 18:36:39

标签: arrays entity-framework postgresql npgsql

是否可以在Entity Framework中使用PostgreSql中的数组?

例如,假设我们有POCO类

        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; }
        }

此时,实体框架根本不会创建列" somedata"并跳过它。有没有办法做到这一点?而且我的意思是不必使用单独的表格。 Postgres数组在您希望将少量或有限数量的值存储到单个列中时会派上用场。

1 个答案:

答案 0 :(得分:3)

如果您将Entity Framework CoreNpgsql EF Core provider一起使用,则可以执行此操作。

代码优先方法是:

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