当我想通过Entity框架(代码优先)连接到MySQL时,我收到此错误:
(22,12) : error 2019: Member Mapping specified is not valid. The type 'Edm.Byte[Nullable=False,DefaultValue=]' of member 'Permission' in type 'News.Models.Author' is not compatible with 'MySql.tinyint[Nullable=False,DefaultValue=]' of member 'Permission' in type 'CodeFirstDatabaseSchema.Author'.
db中colum的名称是具有tinyint数据类型的Permission。以下是我的班级。
public class Author
{
...
public byte Permission { get; set; }
...
}
答案 0 :(得分:2)
它已在Connector / Net 6.4.5中修复,尚未推出。
答案 1 :(得分:0)
根据此table,您应该使用sbyte
作为Author.Permission类型。
答案 2 :(得分:0)
您是使用Fluent API显式映射它还是其他什么?因为我只是运行代码,当EF Code First生成我的数据库表时,它自动使用tinyint。
编辑:我使用以下Fluent API映射再次完成它,它仍然完美无缺。
mb.Entity<TestObject>()
.Property(u => u.test)
.HasColumnType("tinyint");
public class TestObject
{
public long ID { get; set; }
public byte test { get; set; }
}