Entity Framework Code First中有效的原始属性是什么?

时间:2011-07-08 18:37:25

标签: c# entity-framework

当我尝试将列映射到模型类中的char数据类型时,我收到错误:

  

属性'[ColumnName]'不是   在'[ClassName]'类型上声明属性。   验证该属性尚未存在   明确地从模型中排除   使用忽略方法或   NotMappedAttribute数据注释。   确保它是有效的原语   属性。

EF Code First的有效基元类型是什么?

1 个答案:

答案 0 :(得分:17)

这很有趣,但你真的无法映射char属性。我刚刚检查了它,如果你想在数据库中有char(1),你必须使用string属性并进行以下映射:

modelBuilder.Entity<MyEntity>()
            .Property(p => p.MyProperty)
            .HasMaxLength(1)
            .IsFixedLength()
            .IsUnicode(false);

这不仅是代码优先的问题。这是整个EF限制,因为EDMX设计器也不显示char类型。我认为允许的类型与CSDL reference中针对EDMX描述的相同,因为代码首先只是围绕相同的映射基础结构。