【发布时间】:2018-01-29 13:18:23
【问题描述】:
我为我的数据库使用了 Entity Framework Code First Migrations,并且在我为数据创建的最新表之一中,我存储了 JSON 数据,在极少数情况下最多 100,000 个字符。我们使用的数据库是 MySQL,nvarchar(MAX) 不存在,最大长度限制在 20,000 左右。我想使用MEDIUMTEXT 或LONGTEXT 来存储这个Json 数据,但我找不到合适的属性来添加到类中的string 属性来执行此操作。
我试过的东西:-
[Column(TypeName = "text")][Column(TypeName = "mediumtext")][Column(TypeName = "MEXIUMTEXT")]
有趣的是,当迁移运行时,如果我更改以下任何一项,就会生成部分类:-
AlterColumn("dbo.ApiAiItems", "JsonData", c => c.String(unicode: false, storeType: "text"));
或者...
AlterColumn("dbo.ApiAiItems", "JsonData", c => c.String(unicode: false));
到...
AlterColumn("dbo.ApiAiItems", "JsonData", c => c.String(unicode: false, storeType: "mediumtext"));
在 MySQL 数据库表上设置了正确的数据类型。所以问题是让迁移生成正确的类型。
有人可以提出任何建议吗?或者是否可以编辑该部分 .CS 文件?
提前致谢!
【问题讨论】:
标签: c# mysql database entity-framework ef-code-first