Zunächst einmal bin ich mir nicht sicher, ob das, was Sie wollen, möglich ist. EF möchte sich um die Diskriminatorspalte kümmern und auf der Grundlage des Klassentyps den Diskriminatorwert festlegen, aber wie soll es in diesem Fall den Wert festlegen, auf welchen möglichen Wert. Es macht keinen Unterschied, wenn es von der DB geladen wird, aber ein wenig problematisch, wenn versucht wird, es in die DB zu serialisieren.
1- haben Sie versucht, mehrere Karten für jeden möglichen Wert zu erstellen:) Möglicherweise erhalten Sie die Fehlermeldung, dass DarkColor bereits zugewiesen wurde.
2 - Der zweite Vorschlag ist das Hinzufügen eines [NotMapped] ColorWeight-Attributs und die Rückgabe von dunkel oder weiß auf der Grundlage von theColor und die Verwendung dieser Eigenschaft als Diskriminatorfeld, aber ich denke, das Diskriminatorfeld sollte in der Tabelle vorhanden sein.