8 Stimmen

EF 4.1 EntityType hat keinen Schlüssel - zusammengesetzt

Ich habe gerade auf die neueste EF 4.1 code-first mit NuGet aktualisiert und jetzt erhalte ich einen Fehler in Bezug auf mein Mapping.

Ich habe diese Klasse

public class UserApplication
{
    [Key, Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int UserId { get; set; }

    [Key, Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int ApplicationId { get; set; }

    [ForeignKey("ApplicationId")]
    public virtual Application Application { get; set; }

    public DateTime SubscribedDate { get; set; }
}

Und ich erhalte diesen Fehler:

System.Data.Edm.EdmEntityType: : EntityType 'UserApplication' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet 'UserApplications' is based on type 'UserApplication' that has no keys defined.

Ich kann es jedoch mit der Fluent-API wie folgt zum Laufen bringen

modelBuilder.Entity<UserApplication>().HasKey(obj => new {obj.UserId, obj.ApplicationId });

Wie kommt es, dass EF den zusammengesetzten Schlüssel, den ich mit Hilfe von Anmerkungen definiert habe, nicht aufnimmt? Ich bin mir ziemlich sicher, dass dies mit einem älteren EF 4.1 funktioniert hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X