所以我有一个用户配置模型类为SimpleMembership的一部分。 在它我需要存储存在于类型的另一个DB遗留标识符char(36)
我喜欢这个改变的东西更明智像UNIQUEIDENTIFIER但是这超出范围为今天的活动。
我现在的注解创建一个栏nvarchar(36)
[StringLength(36)]
public string UserIdentifier{ get; set; }
我想的列char(36)
来代替。 这可能吗?
所以我有一个用户配置模型类为SimpleMembership的一部分。 在它我需要存储存在于类型的另一个DB遗留标识符char(36)
我喜欢这个改变的东西更明智像UNIQUEIDENTIFIER但是这超出范围为今天的活动。
我现在的注解创建一个栏nvarchar(36)
[StringLength(36)]
public string UserIdentifier{ get; set; }
我想的列char(36)
来代替。 这可能吗?
如果你想保持与数据注释,然后只是简单地使用:
[StringLength( 36 )]
[Column( TypeName = "char" )]
public string UserIdentifier{ get; set; }
好。 我找到自己的答案。
如果我创建了我的用户配置以下配置类:
class UserProfileConfiguration:EntityTypeConfiguration<UserProfile>
{
public UserProfileConfiguration()
{
this.Property(p => p.UserIdentifier)
.HasMaxLength(36)
.IsFixedLength()
.IsUnicode(false);
}
}
然后覆盖OnModelCreating
在我DbContext
添加此配置:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Configurations.Add(new UserProfileConfiguration());
}
然后我在商业和我得到一个char(36)
列。 好极了。