所以我有一个 UserProfile 模型类作为 SimpleMembership 的一部分。在其中,我需要存储存在于另一个类型的数据库中的旧标识符char(36)
。我很想把它改成更合理的东西,比如 uniqueIdentifier ,但这超出了今天的活动范围。
我当前的注释创建了一列nvarchar(36)
[StringLength(36)]
public string UserIdentifier{ get; set; }
我想要一列char(36)
代替。这可能吗?
所以我有一个 UserProfile 模型类作为 SimpleMembership 的一部分。在其中,我需要存储存在于另一个类型的数据库中的旧标识符char(36)
。我很想把它改成更合理的东西,比如 uniqueIdentifier ,但这超出了今天的活动范围。
我当前的注释创建了一列nvarchar(36)
[StringLength(36)]
public string UserIdentifier{ get; set; }
我想要一列char(36)
代替。这可能吗?
如果您想保留数据注释,那么只需使用:
[StringLength( 36 )]
[Column( TypeName = "char" )]
public string UserIdentifier{ get; set; }
行。我自己找到了答案。
如果我为我的 UserProfile 创建以下配置类:
class UserProfileConfiguration:EntityTypeConfiguration<UserProfile>
{
public UserProfileConfiguration()
{
this.Property(p => p.UserIdentifier)
.HasMaxLength(36)
.IsFixedLength()
.IsUnicode(false);
}
}
OnModelCreating
然后在 my中覆盖DbContext
以添加此配置:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Configurations.Add(new UserProfileConfiguration());
}
然后我在做生意,我得到一个char(36)
专栏。耶。