Ganz einfach, bei der Verwendung von Code First und dem Erstellen einer Tabelle pro Hierarchietabelle ist mein Gefühl, dass das Feld Discriminator
indiziert werden sollte, da es verwendet wird, um die Daten mit so ziemlich jeder Abfrage zu filtern.Entity Framework Code First - Tabelle pro Hierarchie - Soll das Diskriminatorfeld indiziert werden?
Warum fügt EF dem Feld Discriminator
keinen Index hinzu?
Nicht ganz das, was ich frage, ich verstehe, dass die Unterscheidungs Spalte gibt es um zwischen den Klassen zu unterscheiden, die der einzelnen Tabelle zugeordnet sind. Was ich erwarten würde ist, dass diese Spalte indexiert wird, da ziemlich jede einzelne Abfrage für diese Tabelle die Diskriminatorspalte als Teil der where-Klausel verwendet. – RemarkLima
möchten Sie den Diskriminatorwert selbst verwenden? Die Diskriminatorspalte wird intern von Code First verwendet und Sie können ihre Werte nicht vom Standpunkt der Vererbungszuordnung lesen/schreiben. –
[Link] (http://weblogs.asp.net/manavi/inheritance-mapping-strategien-mit-entity-framework-code-first-ctp5-part-1-table-per-hierarchy-tph) diesen Blog-Post ist sehr hilfreich, um das Konzept der Diskriminatorsäule zu verstehen. –