2012-04-03 4 views
0

Я пытаюсь добавить зеркальное отражение, прежде чем запускать проект.EntityType 'MemberhipUser' не имеет определенного ключа. Унаследованный класс

я получаю следующее сообщение об ошибке при попытке добавить 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

Исключение составляют сообщения 'MemberhipUser', но ваш класс имеет имя' UserMembership'. Это опечатка? – Slauma

+0

Как говорит Слаума, это опечатка, глупая меня. Спасибо Слауме. – cja100

ответ

0

Исключительные разговоры об MemberhipUser, но ваш класс имеет имя UserMembership. Это опечатка?

+0

Но ваше сопоставление Fluent использует 'MembershipUser'. У вас есть два класса: 'MembershipUser' AND' UserMembership'? В противном случае я ожидал бы, что вы получили ошибку времени компиляции. Как вы решили проблему сейчас? – Slauma

+0

Он ссылался на System.Web.Security.MembershipUser – cja100