2016-05-30 12 views
1

Angenommen, ich habe eine Tweet Klasse und LongTweet Klasse, die von Tweet erbt. In EF würden sie als eine Tabelle modelliert werden, wo ich eine Discriminator Spalte haben würde, die entweder Tweet oder LongTweet sagen würde.EF Vererbung mit Boolean

aber sagen, ich will, statt der Discriminator Spalte IsLongTweet Spalte zu haben, die ein Bool Wert sein würde, die entweder wahr sein wird, wenn LongTweet die Instanz oder falsch ist, wenn Tweet die Instanz ist. Wie kann ich das machen?

+0

Sie einen Code zur Verfügung stellen Konnten Sie bisher haben? Siehe: http://stackoverflow.com/help/how-to-ask und aktualisiere deine Frage mit so vielen relevanten Informationen und minimalem Code, der mit deiner Frage in Verbindung steht. – gmiley

+0

Soll ich Tweet/LongTweet mit einigen zufälligen Eigenschaften füllen, um "relevanter" zu werden? Ich denke, dass meine Frage ziemlich klar war. – anemaria20

+0

Es würde jedem helfen, der nach etwas ähnlichem sucht, sowie einen visuellen Kontext zur Frage zur Verfügung stellen. Wenn Sie könnten, ja, stellen Sie einfach ein vereinfachtes Beispiel Ihres Codes zur Verfügung, um mit der Frage zu gehen. – gmiley

Antwort

0

Wie hier erklärt Inheritance with EF Code First

sollten Sie versuchen:

modelBuilder.Entity<Tweet>() 
    .Map<Tweet>(m => m.Requires("IsLongTweet").HasValue(false)) 
    .Map<LongTweet>(m => m.Requires("IsLongTweet").HasValue(true));