Mam scenariusz, w którym dane z pojedynczej tabeli muszą znajdować się w 2 obiektach.Kod struktury obiektu Najpierw: Jak odwzorować tabelę płaską na klasę z obiektami zagnieżdżonymi
[Table]
-Field1
-Field2
-Field3
-Field4
i klasy wyglądać następująco:
[Class1]
-Field1
-Field2
-Class2 object here
[Class2]
-Field3
-Field4
Po ustawieniu w klas 1 atrybut [NotMapped] na własność Class2 zawierających pole 3 i 4. Również dodanego konfiguracja w kontekście danych:
public class ConfigurationClass1 : EntityTypeConfiguration<Class1> {
public ConfigurationClass1() {
Property(o => o.Class2.Field3).HasColumnName("Field3");
Property(o => o.Class2.Field4).HasColumnName("Field4");
}
}
problem polega na tym, że gdy próbuję użyć Entity Framework z Class1 mam:
Właściwość "Class2" nie jest zadeklarowaną własnością typu "Class2". Sprawdź, czy właściwość nie została jawnie wykluczona z modelu przy użyciu adnotacji Ignore method lub NotMappedAttribute . Upewnij się, że jest to prawidłowa prymitywna właściwość.
Jak mogę użyć Entity Framework Code First z Entity, który ma zagnieżdżony obiekt ze wszystkimi informacjami w płaskim stole?
Wydaje się, że wiele problemów jest prostym problemem. –
@Chuck Conway zgadzam się, ale tak to działa w EF –
Całkowicie zapomniałem o ComplexType. Po skonfigurowaniu z atrybutem ComplexType wszystko działało. Dziękuję Ci. +1 i akceptowane :) –