2012-04-03 19 views
0

プロジェクトを実行する前に、ミラーリングを追加しようとしています。EntityType 'MembershipUser'にはキーが定義されていません。継承されたクラス

私はここでmirgration

One or more validation errors were detected during model generation: 

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'MembershipUser' has no key defined. Define the key for this EntityType. 
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'MembershipUsers' is based on type 'MembershipUser' that has no keys defined. 

を追加しようとすると、私は次のエラーを取得するクラスです:

<Table("aspnet_Membership")> 
Public Class UserMembership 
    Inherits User 

    Public Property ApplicationId As Guid 

    Public Property Comment As String 

End Class 

その親:

<ReadOnlyAttribute(True), Table("aspnet_Users")> 
Public Class User 

    <Key, DatabaseGenerated(DatabaseGeneratedOption.Identity), DisplayName("User Id")> 
    Public Property UserId As Guid 

    <Required, StringLength(256)> 
    Public Property UserName As String 

    <Required, StringLength(256)> 
    Public Property LoweredUserName As String 

    <StringLength(16)> 
    Public Property MobileAlias As String 

    <Required> 
    Public Property IsAnonymous As Boolean 

    <Required> 
    Public Property LastActivityDate As DateTime 
End Class 

が最後にOnModelCreating:

modelBuilder.Entity(Of MembershipUser)().Map(Sub(m) 
               m.MapInheritedProperties() 
               m.ToTable("aspnet_Membership") 
              End Sub) 

誰かが間違っていることを知っていますか?

+1

例外は「MembershipUser'についての話ですが、あなたのクラスは 'UserMembership'という名前です。これはタイプミスですか? – Slauma

+0

Slaumaはそのタイプミス、愚かな私に言います。スラマに感謝します。 – cja100

答えて

0

例外はMembershipUserについて語りますが、クラスの名前はUserMembershipです。これはタイプミスですか?

+0

しかしFluentマッピングは 'MembershipUser'を使います。あなたは 'MembershipUser'と' UserMembership'という2つのクラスを持っていましたか?それ以外の場合は、コンパイル時にエラーが発生すると思います。今、どのように問題を解決しましたか? – Slauma

+0

System.Web.Security.MembershipUserを参照していました – cja100

関連する問題