Domanda

Devo usare le tabelle di un DB che non posso modificare (usando un server collegato). Quindi parte del mio schema è una vista su queste tabelle e non riesco a creare un FK nel mio DB.

Quando vengo a creare l'associazione in ADO.NET Entity Framework sto riscontrando problemi perché una seconda colonna nella tabella dal DB esterno ha un indice su di essa e l'EF sta creando una chiave di entità per esso (è il nome descrizione del record - penso che volessero solo velocizzare l'ordinamento su di esso).

Quando tolgo la chiave dell'entità da questa colonna nell'entità EF, mi lamento del fatto che la tabella sottostante contiene una chiave. Se lo lascio dentro non riesco a mapparlo su nulla nella mappatura della tabella di EF.

Qualcuno sa cosa dovrei fare per favore?

È stato utile?

Soluzione

Dovrai modificare l'XML e rimuovere la colonna dalla chiave. Trova & Lt; EntityType & Gt; tag nel < edmx: StorageModels > sezione (contenuto SSDL). Elimina qualsiasi & Lt; PropertyRef & Gt; nella < Chiave > che in realtà non fa parte della chiave primaria.

Una volta fatto, puoi impostare " Entity Key " sulla proprietà scalare corrispondente nel designer su false, e EF non si arrabbierà. Inoltre, non ti verrà chiesto di mappare più questa colonna nelle associazioni.

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