35 messaggi dal 31 marzo 2010
Ciao a tutti, sto sviluppando la mia prima applicazione utilizzando asp.net mvc3 ed entity framework con approccio Database First in quanto ho ereditato una base di dati voluminosa già esistente.
All'intenro di essa ho dei campi date contententi ovviamente una data senza ora.
Eseguendo il mapping delle tabelle, quando eseguo una query e vado a rappresentare il risultato, questo campo viene visualizzato come data con ora, (13/03/2013 00:00:00).
Come posso fare per far si che venga visualizzata solo la data come realemente presente sul db?

Grazie.
Un metodo può essere con le DataAnnotation nel Model:

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime CampoData { get; set; }

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
35 messaggi dal 31 marzo 2010
Grazie mille, funziona benissimo!
L'unica sfortuna è che se eseguo un update del model dal db devo reinserire ogni volta gli attributi sui campi...poco male mi si fa velocemente!
Vero... se non hai letto articoli/script o visto i video su MVC / Entity Framework presenti nella community
Puoi creare una partial class in cui metti gli attributi per le varie proprietà, o meglio ancora una classe specifica che fa da Model per MVC su cui "mappi" con AutoMapper o simile le Entity di EF... in futuro questa ultima soluzione potrebbe evitarti di riscrivere codice in caso di modifiche di EF o dell'architettura della tua applicazione.

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
35 messaggi dal 31 marzo 2010
Troppo gentile, cerco subito qualche video/articolo sull'argomento!
35 messaggi dal 31 marzo 2010
Mi sono documentato un pò sulle partial class ed effettivamente sono molto valide per il mio scopo.

Ho provato quindi a scriverne una mantenendo lo stesso namespace. Sulla documentazione (anche msdn) dicono che gli attributi con cui vengono decorate due classi vengono successivamente mergiati.
Ho provato a fare la stessa cosa sulla mia proprietà data ridefinendo nella mia partial class la proprietà "data" aggiungendo però i DataAnnotations che mi hai suggerito.
Compilando mi dice però che il campo data esiste già, dove sto sbagliando?

Grazie in anticipo!
Ho mischiato un po' le risposte:
1) Partial Class: devi usare [MetaDataType] trovi un esempio qui alla figura 6, il concetto è lo stesso della validazione.

2) Model su cui mappare Entity: in pratica sono due classi uguali con corrispondenza 1:1 delle property e vai a mettere le DataAnnotations nella classe che fa da Model per MVC.

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
35 messaggi dal 31 marzo 2010
Risolto! Sei stato davvero gentilissimo, e ho imparato una cosa nuova!

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.