çok fazla ilişki tanımlanması Aşağıda görebileceğiniz gibi benim modelimde 3 sınıf var.Kod ilk varlık çerçevesi
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string UserName { get; set; }
public ICollection<MartialArtUserProfile> MartialArtUserProfiles { get; set; }
}
[Table("MartialArt")]
public class MartialArt
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string IconPath { get; set; }
public string ImagePath { get; set; }
public ICollection<MartialArtUserProfile> MartialArtUserProfiles { get; set; }
}
public class MartialArtUserProfile
{
public int UserProfileId { get; set; }
public UserProfile UserProfile { get; set; }
public int MartialArtId { get; set; }
public MartialArt MartialArt { get; set; }
}
Ve aşağıdaki gibi birçok ilişki çoğu için bir yapılandırma sınıf var: Ben KonsolPaket Yöneticisi Güncelleme-Veritabanı çalıştırmayı denediğinizde benim cumhuriyeti ilişkiyi tanımladıktan sonra
public class MartialArtUserProfileConfiguration : EntityTypeConfiguration<MartialArtUserProfile>
{
public MartialArtUserProfileConfiguration()
{
HasKey(a => new { a.MartialArtId, a.UserProfileId });
HasRequired(a => a.MartialArt)
.WithMany(s => s.MartialArtUserProfiles)
.HasForeignKey(a => a.MartialArtId)
.WillCascadeOnDelete(false);
HasRequired(a => a.UserProfile)
.WithMany(p => p.MartialArtUserProfiles)
.HasForeignKey(a => a.UserProfileId)
.WillCascadeOnDelete(false);
}
}
yazıyor:
Model oluşturma sırasında bir veya daha fazla doğrulama hatası algılandı:
\ tSystem.Data.Entity.Edm.EdmEntityType:: EntityType 'MartialArtUserProfile' anahtar tanımlanmamış. Bu EntityType'ın anahtarını tanımlayın. \ tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'MartialArtUserProfiles', tanımlanmış anahtar içermeyen 'MartialArtUserProfile' türünü temel alır.
Neyi yanlış yapıyorum? peşin
sayesinde
Gerçekten MartialArtUserProfile sınıfına mı ihtiyacınız var, yoksa çoktan çoğa ilişkisi kurmak için mi kullanıyorsunuz? –
Sadece çoktan çoğa ilişki kurmak için kullanıyorum. @Sniffer – anilca