Ho tabelle del database che assomigliano a questo:Entity Framework cardinalità problema in un ... 0 1 Associazione
Un Task
può essere associata a un Module
, o non mappate a tutti (0. ..1). Sto utilizzando il database di Entity Framework e, quando ho generato il modello dal database, l'entità dell'attività è arrivata con i moduli come una raccolta (0 o più). Così ho aperto il mio EDMX e cambiato la proprietà di navigazione "Moduli" su Attività a 0 ... 1.
Ora, quando si tenta di compilare, ottengo questo errore:
Error 3003: Problem in mapping fragments starting at line 1241:Given the cardinality of Association End Member Task, it should be mapped to key columns of the table TaskModule. Either fix the mapping or change the multiplicity of this end.
non capisco che cosa devo fare per risolvere questo problema. Ho esaminato i dettagli dell'associazione e non riesco a vedere il problema. So che probabilmente mi manca qualcosa di stupido, ma sono completamente bloccato. proprietà dell'associazione:
Visual Studio 2010 SP1, Entity Framework 4.3.1.0, SQL Server 2008 R2.
non ha senso avere una tabella TaskModule. ModuleName dovrebbe essere una chiave straniera nullable in Task –
@ Raphaël Althaus Mi sembra una risposta filosofica (cioè viola il 3 ° NF, ma è discutibile se lo si debba o no). Puoi indicarmi il materiale che supporta il tuo POV? Dai un'occhiata a http://stackoverflow.com/questions/1723808/nullable-foreign-key-bad-practice – Dean
Questa è una grande domanda che hai collegato, Dean. Immagino di essere in minoranza, forse sono vecchia scuola, ma le chiavi straniere nullable mi fanno davvero fregare. Ho modificato la tabella TaskModule come suggerito e ora tutto funziona correttamente. –