我的问题: 使用实体框架与MySQL,我不断得到错误" BLOB / TEXT在密钥规范中使用没有密钥长度"。 我将[StringLength(20)]和[MaxLength(20)]和[Column(TypeName =" nvarchar")]添加到我唯一的字符串类型[Key]中,没有任何进展。
我发现了其他对这个问题的引用,但它们都已经过时了;几年前Connector / Net出现了与此相关的问题,这些问题已经解决。
答案 0 :(得分:1)
最终的解决方案: 尽管有错误信息,但它根本不是[Key]问题。
我曾在一些字符串类型的列上使用[Index],与具有[Key]属性的列不同,EF不会自动将这些列设置为有限长度的nvarchar类型。 用[MaxLength(255)]属性装饰那些列,MySQL很高兴。
答案 1 :(得分:0)
OP 设置 [MaxLength(255)] 属性的解决方案似乎不适用于 EF Core。我能够通过将列类型从 text
修改为 varchar(255)
来解决该问题。