Questa cosa mi sta facendo impazzire e l'errore non ha senso per me:
Impossibile aggiornare EntitySet "TableB" perché ha DefiningQuery e non esiste alcun elemento nell'elemento per supportare l'operazione corrente.
Le mie tabelle sono messe in questo modo:
TableA int idA (identità, chiave primaria) ... TableB int idA (FK per TableA.idA) int val
TableB non ha una chiave primaria definita nel server SQL. Entity Framework ha importato la tabella e l'associazione e ha impostato entrambi i campi come chiave. Ma produrrà quell'errore quando provo a fare un inserimento nella tabella!
Cosa c'è che non va??
Modifica: come suggerito da Alex, la soluzione era questa:
- Fare clic con il tasto destro sul file edmx, selezionare Apri con, editor XML
- Individua l'entità nell'elemento edmx: StorageModels
- Rimuovere completamente DefiningQuery
- Rinomina il negozio: Schema = "dbo" in Schema = "dbo" (altrimenti, il codice genererà un errore che dice che il nome non è valido)
- Rimuovi la proprietà store: Name
Ho lasciato la chiave così com'era, poiché per me andava bene che entrambe le colonne facessero parte della chiave.