C# 实体框架忽略列属性

C# 实体框架忽略列属性,c#,mysql,entity-framework,C#,Mysql,Entity Framework,我有一个使用实体框架数据注释映射到POCOs的大型MySQL数据库 除了一个表中的一列(或者至少,我还没有注意到任何其他类似的问题),大多数事情都非常有效 密码\u散列映射如下: [Required] [Index(IsUnique=true)] [Column("password_hash")] public String PasswordHash { get; set; } 然而,当EF运行这个查询时,它调用它PasswordHash,自然会失败 当我使用Fluent A

我有一个使用实体框架数据注释映射到POCOs的大型MySQL数据库

除了一个表中的一列(或者至少,我还没有注意到任何其他类似的问题),大多数事情都非常有效

密码\u散列映射如下:

[Required]
[Index(IsUnique=true)]
[Column("password_hash")]
public String PasswordHash
{
    get;
    set;
} 
然而,当EF运行这个查询时,它调用它PasswordHash,自然会失败

当我使用Fluent API尝试同样的方法时,这是有效的:

modelBuilder.Entity<Password>().Property(password => password.PasswordHash).HasColumnName("password_hash");
modelBuilder.Entity().Property(password=>password.PasswordHash).HasColumnName(“password_hash”);

但是,其他所有内容都使用数据注释进行映射,坦率地说,我喜欢这种方式。因此,我更愿意理解将此/所有映射移动到Fluent API的问题根源

您的问题在
[索引(IsUnique=true)]
?@erikscandola为什么我不能将列设置为唯一?我只能在数据库中保存该检查,但似乎有点傻。无论如何,谢谢你的回答!星期天我回去工作的时候我会检查一下。你读过这个吗?没有,但它没有解释我在你的问题出现在
[Index(IsUnique=true)]
之前不知道的任何事情。@erikscandola为什么我不能将列设置为unique?我只能在数据库中保存该检查,但似乎有点傻。无论如何,谢谢你的回答!星期天我回去工作的时候我会查一下。你读过这个吗?没有,但它不能解释我以前不知道的任何事情
modelBuilder.Entity<Password>().Property(password => password.PasswordHash).HasColumnName("password_hash");