我有一个POCO模型类和现有的数据库表,这两者都不能改变我正在使用Entity Framework 6和Fluent API。如何使用Entity Framework Code First将C#int映射到SqlServer tinyint?
模型类的CountryId为'int'。但是,在数据库表中,CtryId是'tinyint'。
我试图设置在OnModelCreating方法使用
modelBuilder.Entity<Event>().Property(e => e.CountryId).HasColumnName("CtryId").HasColumnType("tinyint");
类型,但出现以下错误:
error 2019: Member Mapping specified is not valid. The type 'Edm.Int32[Nullable=False,DefaultValue=]' of member 'CountryId' in type 'RA.Data.Event' is not compatible with 'SqlServer.tinyint[Nullable=False,DefaultValue=]' of member 'CtryId' in type 'CodeFirstDatabaseSchema.Event'.
如何映射一个C#的int使用实体框架代码一个SQLServer TINYINT第一?
你为什么不使用[字节](http://stackoverflow.com/ a/5863182/21727)在C#中? – mbeckish
“这两者都不能改变” - 你能找到能够*改变你的模型来匹配数据库的人,反之亦然? – mbeckish
您的“核心”POCO模型是“偏”类吗? – Justin