Ho bisogno di utilizzare l'ereditarietà con EF4 e il modello TPH creato dal DB.
Ho creato un nuovo progetto per testare le classi semplici. V'è il mio modello di classe:EF4 e più livelli astratti
C'è la mia tabella in SQL Server 2008:
VEHICLE
ID : int PK
Owner : varchar(50)
Consumption : float
FirstCirculationDate : date
Type : varchar(50)
Discriminator : varchar(10)
ho aggiunto una condizione nella mia EDMX sul campo discriminatore di differenziare lo scooter, auto, Enti di moto e bici.
Veicolo e veicolo motorizzati sono astratti.
Ma quando compilo, appare questo errore:
Errore 3032: Problema in frammenti di mappatura a partire dalle linee 78, 85 : EntityTypes EF4InheritanceModel.Scooter, EF4InheritanceModel.Motorbike, EF4InheritanceModel.Car, EF4InheritanceModel. La bicicletta viene mappata alle stesse file nella tabella Veicolo. Le condizioni di mappatura possono essere utilizzate per distinguere le righe a cui sono associati questi tipi.
Edit:
Ladislav:
ho provato e cambiare l'errore di diventare per tutti i miei soggetti:
Errore 3034: Problema in frammenti di mappatura a partire dalle linee 72, 86: Un'entità viene mappata su> diverse righe all'interno della stessa tabella. Assicurarsi che questi due frammenti di mappatura non mappino due> gruppi di entità con chiavi sovrapposte a due distinti gruppi di righe.
Per Henk (con Ladislay suggerimento):
Ci sono tutti i dettagli mappature:
Cosa c'è di sbagliato?
Grazie
Puoi pubblicare alcuni dei dettagli della mappatura? Principalmente riguardo al Discriminator. –
Prova ad aggiungere un valore discriminante anche per le classi astratte. –
Grazie, ma non funziona. Vedi il mio post, l'ho spiegato. Per informazioni, se rimuovo la proprietà astratta Motorized Veicolo e Veicolo, è lavoro. Ma ho bisogno che ci siano astratti. – Cedric