Ho due POCO "Solo codice" che utilizzano EF4 e l'ultimo CTP, in esecuzione su un database esistente legacy. L'esecuzione di una query LINQ contro PocoA ha funzionato fino a quando non ho aggiunto la proprietà sottostante a quell'oggetto, stavo cercando di aggiungere una relazione.Entity Framework 4 Errore solo "Set di oggetti multipli per tipo non supportati"
public virtual PocoB pocoB { get; set; }
Una volta che ho fatto, ho cominciato ottenere il seguente errore:
Multiple object sets per type are not supported. The object sets 'PocoA_DbSet' and 'PocoB_DbSet' can both contain instances of type 'PocoA'.
Così ho prossima pensato che il mio problema era perché non avevo definito il rapporto, e questo database legacy usando un prefisso 'fk/pk' invece di un suffisso 'Id' sulle chiavi primaria e straniera. Così ho aggiunto la seguente annotazione dati al metodo virtuale sopra specificato, senza alcun cambiamento nel comportamento:
[RelatedTo(Property="PocoB", ForeignKey="fkPocoB")]
Sono davvero a corto di ciò che deve essere cambiato per fare questo lavoro.
Potete fornire le classi 'PocoA' e' PocoB'. Inoltre, qualsiasi classe di mappatura correlata. – Charlino
Trovato il problema. Era un errore di battitura. La mia classe DbSet per PocoB è stata dichiarata come 'DbSet'. –
Dovresti postare la tua soluzione come risposta e accettarla ... Questa domanda verrà rimossa dall'elenco senza risposta :) – forsvarir