Domanda

Ho due tabelle, Reports e Visualizations. Reports ha un campo, VisualizationID, che punta al campo di Visualization con lo stesso nome tramite una chiave esterna. Essa ha anche una chiave univoca dichiarato sul campo. VisualizationID non è annullabile. Ciò significa che il rapporto deve essere 0..1 a 1, poiché ogni scheda Reports deve avere un unico, non nullo registrare Visualizations associato.

Entity Framework non la vede in questo modo. Sto ottenendo il seguente errore:

Error 113: Multiplicity is not valid in Role 'Report' in relationship 'FK_Reports_Visualizations'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *.

Qual è il problema? Come posso fare la EF riconosce il corretto rapporto molteplicità?

È stato utile?

Soluzione

L'EF si lamenta perché suona come si sta utilizzando un'associazione FK - il che significa che il VisualizationID è una proprietà del soggetto e non v'è un riferimento visualizzazione troppo -. E non è possibile fare questo con FK Associazioni

Se invece si utilizza associazioni indipendenti - il che significa non v'è alcuna proprietà VisualizationID -. possono restringere la cardinalità

Quindi la soluzione è quella di rimuovere la proprietà VisualizationID dal Entità, a questo punto è necessario andare avanti una mappa dell'associazione.

Spero che questo aiuti

Alex

Altri suggerimenti

Ho appena incappato lo stesso problema - Alex, la sua spiegazione è corretta, nel mio caso, ma ovviamente rimuovendo la colonna FK dal modello concettuale, non ho più la possibilità di passare in seguito il mio oggetto correlato cambiando il valore del campo FK ... dovrò tornare ai vecchi trucchi per fare questo!

C'è qualche piani per permettere di avere la nostra torta e la moglie ubriaca da 1 a 0..1 relazioni, vale a dire essere in grado di avere il campo FK pure?

Greg

(P.S. Avrei commentato, ma il mio rappresentante non è abbastanza alto ancora!)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top