Kod tabloları aracılığıyla ilk akıcı api (veri tabanını databaseanswers.org'da bulunan bir model kullanıyorum) üzerinden dönüştürmek istediğim dört varlığım var. nasıl olduğu konusunda emin değilim. Sorun şu ki, ÖnerilenMenüId, Kompozit anahtardaki (MenuCourse ve CourseRecipeChoice) iki farklı tabloya taşınıyor. İşte Kod Birleşim Tablosundaki İlk Akıcı API ve Gezinme Özellikleri
alıyorum mesajdır:"Bir veya daha fazla doğrulama hatası modeli oluşturma sırasında tespit edilmiştir: tSystem.Data.Entity.Edm.EdmAssociationConstraint \
: mülklerin sayısı İlişki kısıtındaki Bağımlı ve Asıl Rollerin aynı olması gerekir. " İşte
public class CourseRecipeChoiceConfiguration : EntityTypeConfiguration<CourseRecipeChoice>
{
public CourseRecipeChoiceConfiguration()
{
HasKey(crc => new { crc.Id});
HasRequired(r => r.Recipe).WithMany(crc => crc.CourseRecipeChoices).HasForeignKey(crc => crc.RecipeId);
HasRequired(m => m.MenuCourse).WithMany(crc => crc.CourseRecipeChoices).HasForeignKey(crc => crc.MenuCourseId);
HasRequired(m => m.MenuCourse).WithMany(crc => crc.CourseRecipeChoices).HasForeignKey(crc => crc.SuggestedMenu_MenuCourseId);
}
}
navigasyon özellikleri için doğru sözdizimi ve CourseRecipeChoice için akıcı API sözdizimi için doğru sözdizimi nedir ... benim EntityTypeConfiguration sınıfta denedim ve açıkçası yanlış olan budur masaya katılmak ? aşağıdaki gibi
public class SuggestedMenu
{
public int SuggestedMenuId { get; set; }
public virtual ICollection<MenuCourse> MenuCourses { get; set; }
}
public class MenuCourse
{
public int Id { get; set; }
public int SuggestedMenuId { get; set; }
public SuggestedMenu SuggestedMenu { get; set; }
public virtual ICollection<CourseRecipeChoice> CourseRecipeChoices { get; set; }
}
public class CourseRecipeChoice
{
public int SuggestedMenuId { get; set; }
public int MenuCourseId { get; set; }
public int Id { get; set; }
public int RecipeId { get; set; }
//How do I represent the navigation properties in this class?
}
public class Recipe
{
public int RecipeId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ICollection<CourseRecipeChoice> CourseRecipeChoices { get; set; }
}
şifreler
şunlardır:- SuggestedMenu (Id)
- MenuCourse (İd, SuggestedMenuId)
- CourseRecipeChoice (İd, SuggestedMenuId, MenuCourseId, RecipeId) // aslında şaşkın olduğum yer çünkü modele göre, SuggestedMenuId önerilen bir PK trk ve eldeki bilgi dayalı MenuCourse ve CourseRecipeChoice bir PF (bu sadece kötü tasarım olabilir?)
- Reçete (RecipeId)
Sadece her tablonun anahtarlarının ne olduğunu ve yabancı anahtarların ne olduğunu söyler misiniz, tahmin ediyorum ama emin değilim. Bence daha büyük bir sorun olmamalı. – NSGaga
@NSGaga Henüz cevabınızı okudum, ancak anahtarları eklemek için soruyu güncelledim ... – Robert