Ich muss eine vorhandene Datenbank mithilfe von Entity Framework 6 abbilden, um (nur) Daten zu lesen. />I have simplified my real situation to the simplest in the following model:
[Table("FruitBox")]
public abstract class FruitBox
{
[Key]
public Guid FruitBoxId { get; set; }
///
/// Discriminator can be "Banana" or "Cherry"
///
public string Discriminator { get; set; }
///
/// FK to the "Banana" or "Cherry" child, depending on Discriminator
///
public Guid FruitId { get; set; }
}
public class BananaBox : FruitBox
{
public Banana MyBanana { get; set; }
}
public class CherryBox : FruitBox
{
public Cherry MyCherry { get; set; }
}
[Table("Banana")]
public class Banana
{
[Key]
public Guid BananaId { get; set; }
public ICollection MyBananaBoxes { get; set; }
}
[Table("Cherry")]
public class Cherry
{
[Key]
public Guid CherryId { get; set; }
public ICollection MyCherryBoxes { get; set; }
}
< /code>
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity()
.Map(m => m.Requires("Discriminator").HasValue("Banana"))
.Map(m => m.Requires("Discriminator").HasValue("Cherry"))
modelBuilder.Entity()
.HasRequired(bb => bb.MyBanana)
.WithMany(b => b.MyBananaBoxes)
.HasForeignKey(bb => bb.FruitId);
modelBuilder.Entity()
.HasRequired(cb => cb.MyCherry)
.WithMany(c => c.MyCherryBoxes)
.HasForeignKey(cb => cb.FruitId);
}
< /code>
Leider beim Versuch zu lesen: < /p>
var boxes = this.DbContext.BananaBoxes.ToList()
< /code>
Die folgende Ausnahme wird ausgelöst: < /p>
System.inValidoperationException: 'Die Fremdschlüsselkomponente' fruitId 'ist kein deklariertes Eigentum auf dem Typ' bananabox '. Stellen Sie sicher, dass es nicht explizit aus dem Modell ausgeschlossen wurde und dass es sich um eine gültige primitive Eigenschaft handelt. '
Ich habe versucht, FruitId
Eigenschaft von fruitbox zu bananabox zu bewegen (und zu Kirchenkasten>) ohne Erfolg. Ansatz).
Ich muss eine vorhandene Datenbank mithilfe von Entity Framework 6 abbilden, um (nur) Daten zu lesen. />I have simplified my real situation to the simplest in the following model: [img]https://i.sstatic.net/CQ5xg6rk.png[/img]
[list] [*][code]FruitBox[/code] Tabelle besitzt eine Diskriminatorin Spalte, die "Banane" oder "Kirsche" sein kann. [*][code]Fruitbox[/code] Tabelle besitzt (Art von) eine Fremdschlüssel, die auf Banane oder Kirsch zeigt, abhängig von Diskriminator Wert.[code]FruitBox[/code] Tabelle ([code]Discriminator = "Banana"[/code]) zu bananabox Entität mit einer Banane Kind [*][code]FruitBox[/code] Tabelle ([code]Discriminator = "Cherry"[/code]) an Cherrybox Entität mit einer Kirsche child [/list] Dies ist meine Implementierung: [code][Table("FruitBox")] public abstract class FruitBox { [Key] public Guid FruitBoxId { get; set; }
/// /// Discriminator can be "Banana" or "Cherry" /// public string Discriminator { get; set; }
/// /// FK to the "Banana" or "Cherry" child, depending on Discriminator /// public Guid FruitId { get; set; } }
public class BananaBox : FruitBox { public Banana MyBanana { get; set; } }
public class CherryBox : FruitBox { public Cherry MyCherry { get; set; } }
[Table("Banana")] public class Banana { [Key] public Guid BananaId { get; set; } public ICollection MyBananaBoxes { get; set; } }
[Table("Cherry")] public class Cherry { [Key] public Guid CherryId { get; set; } public ICollection MyCherryBoxes { get; set; } } < /code> protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity() .Map(m => m.Requires("Discriminator").HasValue("Banana")) .Map(m => m.Requires("Discriminator").HasValue("Cherry"))
modelBuilder.Entity() .HasRequired(cb => cb.MyCherry) .WithMany(c => c.MyCherryBoxes) .HasForeignKey(cb => cb.FruitId); } < /code> Leider beim Versuch zu lesen: < /p> var boxes = this.DbContext.BananaBoxes.ToList() < /code> Die folgende Ausnahme wird ausgelöst: < /p>
System.inValidoperationException: 'Die Fremdschlüsselkomponente' fruitId 'ist kein deklariertes Eigentum auf dem Typ' bananabox '. Stellen Sie sicher, dass es nicht explizit aus dem Modell ausgeschlossen wurde und dass es sich um eine gültige primitive Eigenschaft handelt. '
Ich habe versucht, FruitId [/code] Eigenschaft von fruitbox zu bananabox zu bewegen (und zu Kirchenkasten>) ohne Erfolg. Ansatz).
In Python beginne ich einen neuen Prozess über popen () , der einwandfrei funktioniert. Jetzt möchte ich im untergeordneten Prozess die Prozess -Prozess -ID des Elternteils finden. Oder gibt es einen...
Ich habe einen Weg gefunden, einen Div-Container zu erstellen, um mindestens die volle Höhe einer Seite zu besetzen, indem ich min-Höhe einstellte: 100%; . Wenn ich jedoch eine verschachtelte DIV und...