Json ColumnType SystemInvalidOperationException

时间:2016-10-22 05:07:28

标签: npgsql

我正在使用代码优先创建数据库的npgql v3.1.8和EntityFramework6.Npgsql v3.1.1。

我想使用postgres json字段在列中存储某些用户可定义的设置。因此,第一步是创建一个简单的模型,将列类型作为文本开头。

SELECT name, default_version,installed_version                                                                                                                                   FROM pg_available_extensions WHERE name LIKE 'postgis%' ;
          name          | default_version | installed_version 
------------------------+-----------------+-------------------
 postgis                | 2.1.5           | 
 postgis_tiger_geocoder | 2.1.5           | 
 postgis_topology       | 2.1.5           | 

这可以并且允许json存储在列中 - 很好,但不使用json postgres列类型。现在我删除数据库以便可以重新创建它,并将模型更改为:

    [StringLength(1000)]
    public string Settings { get; set; }

这是唯一的改变,一切都应该与世界相处得很好。但是,在创建模型时会发生错误(因此永远不会创建数据库)。错误是:

    [Column(TypeName = "json")] 
    public string Settings { get; set; }
嗯,好吧,让我们尝试另一种方法。删除该属性并将以下内容添加到DbContext OnModelCreating覆盖:

   System.InvalidOperatiopnException: Sequence contains no matching elements

而且..同样的错误。以前遇到过这个人吗?现在我要回到我的任意长度字符串列 - 至少可行![/ p>

0 个答案:

没有答案