9

したがって、SimpleMembership の一部として UserProfile モデル クラスがあります。その中に、 type の別の DB に存在するレガシー識別子を格納する必要がありますchar(36)。これを uniqueIdentifier のようなもっと賢明なものに変更したいのですが、それは今日の活動の範囲外です。

現在の注釈は列を作成しますnvarchar(36)

[StringLength(36)]
public string UserIdentifier{ get; set; }

代わりにのコラムをお願いしchar(36)ます。これは可能ですか?

4

2 に答える 2

13

データ注釈を維持したい場合は、単に次を使用します。

[StringLength( 36 )]
[Column( TypeName = "char" )]
public string UserIdentifier{ get; set; }
于 2014-02-17T23:11:25.043 に答える
8

Ok。私は自分で答えを見つけました。

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)コラムを手に入れます。わーい。

于 2013-02-14T14:05:21.757 に答える