Ho un'app MVC utilizzando Entity Framework e un database SQL Server 2008. Ho usato la procedura guidata EF per generare il mio modello di dati.datetime2 e ProviderManifestToken in Entity Framework
Ho una tabella SQL Server con una colonna standard DateTime
. Il modello EF utilizza System.DateTime
.
Ma quando provo ad inserire un nuovo record in questa tabella dalla mia applicazione, senza specificare un valore per questa colonna DateTime, ottengo l'errore:
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
I Googled un po 'e ha scoperto che le persone sono modificare edmx e cambiare il ProviderManifestToken
. Ovviamente questo verrà sovrascritto, quindi c'è una soluzione più permanente o un modo per risolvere questo problema?
Se non si imposta esplicitamente un valore per una proprietà di entità, EF non deve inserire un valore null? – Blackcoil
No, sarà impostato sul valore predefinito (DateTime) in .Net. Si noti che DateTime è un * Tipo di valore * e non può essere Null, tuttavia DateTime? può. Ci sono diversi modi in EF per inserire automaticamente questa proprietà (e fondamentalmente la proprietà di qualsiasi entità) in base al suo utilizzo. –