Contesto:utilizzando le proprietà di navigazione a entità codice del framework primi
- Codice In primo luogo, Entity Framework 4.3.1;
- Utente ---- Argomento, da 1 a molti relazione;
User
conpublic virtual ICollection<Topic> CreatedTopics
Proprietà di navigazione (Caricamento pigro);Topic
conpublic virtual User Creator
Proprietà di navigazione;DataServiceController : DbDataController<DefaultDbContext>
, API Web beta, Beta MVC 4 ASP.NET, Applicazione pagina singola;- System.Json per serializzazione Json;
Web API Azione:
public IQueryable<Topic> GetTopics() { // return DbContext.Topics; // OK return DbContext.Topics.Include("Creator"); //With Exception }
Risultato: "un'eccezione non gestita .net framework di Microsoft si è verificato in w3wp.exe"
Il problema qui sembra essere: dovrei non Aggiungi proprietà di navigazione in entrambe le entità (causa riferimento circolare?) e se elimino la proprietà di navigazione CreatedTopics
nella classe User
, verrà va bene di nuovo.
Quindi, in un contesto simile come elencati sopra, Ecco le mie domande:
- Come comportarsi con proprietà di navigazione nella situazione di 1 a molti relazione;
- Inoltre, che ne dite di un rapporto da molti a molti, devo dividerlo in due da 1 a molte relazioni;
- Quali sono le migliori pratiche e precauzioni per l'utilizzo delle proprietà di navigazione?
Ho letto molti post correlati, ma ancora non abbastanza chiare :(,
Grazie per qualsiasi aiuto
Dean
DataContractJsonSeriaizer è il Serializzatore Json predefinito per Beta API Web? – Dean
Sto usando 'DataContract (IsReference = true)' e 'DataMember' temporaneamente, c'è un articolo dettagliato che parla di questo? Sono anche interessato all'opzione DTO, ma per ora non sono riuscito a farcela, dedicherò più tempo a questo, e grazie per la buona risposta. – Dean