Domanda

E 'possibile aggiungere oggetti da mio modello che dont esistere nel database?

Per esempio ho una tabella di calendario, voglio retireve questi dati in mio controller MVC quindi lavorare fuori tempo a sinistra fino a quando ciascuno si avvia di entrata e di restituire questo alla vista. Quindi vorrei un'altra proprietà nel mio modello di calendario per tenere il tempo ha lasciato, che è un valore che io generare al di fuori del database.

Ho provato semplicemente aggiungendo la proprietà, ma quando lo faccio che ottengo errori perché la proprietà non è mappato a nulla.

Questo è anche possibile?

Grazie

È stato utile?

Soluzione

Si dovrebbe essere in grado di aggiungere la proprietà al modello, ma non sarà in grado di interrogare con LINQ. LINQ in ultima analisi, la costruzione e l'espressione che si desidera eseguire sul database utilizzando SQL. Il suo a quel punto che il vostro LINQ non riuscirà a trovare un mapping dalla vostra proprietà a un campo da qualche parte.

Se la query restituisce un IEnumerable del tipo effettiva in cui si è creato la proprietà vostra vista può essere in grado di accedervi. Non riesco a ricordare se EF insiste sulla mappatura in questo caso, si può fare.

Si potrebbe scoprire che è possibile creare la successiva query LINQ che utilizza LINQ-to-oggetti se si desidera fornire qualche altro tipo composito al vostro punto di vista.

Altri suggerimenti

Si tratta di una struttura non-persistente o transitoria. Non so Entità Framwork bene, ma con una breve ricerca su Google si dovrebbe trovare la risposta.

A proposito potete trovare un sacco di consigli qui: http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx

Dopo aver fatto una rapida ricerca me stesso e un test in VS2008 non vedo un modo per escludere una proprietà dalla mappatura. Forse richiede di modificare manualmente il file di mapping? : (

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