Quale strategia seguire mentre si abbinano i tipi di dati del server sql nel codice C # Primo approccio durante l'utilizzo di Entity Framework

2

Se si confrontano i tipi di dati di SQL Server con C # Code First Approach in Entity Framework, quali sono i punti specifici da tenere a mente in modo che il nostro tipo di dati C # corrisponda esattamente al tipo di dati di SQL Server?

In particolare, mentre dobbiamo associare il datatype di SQL Server al tipo di dati C #, diciamo per un determinato tipo di gerarchia di dati, che esiste in SQL Server ma non in C #, come possiamo renderlo possibile?

    
posta ProgrammingNinja 21.08.2014 - 08:49
fonte

3 risposte

1

C'è un tipo di dati che non è supportato da EF.

geography
geometry
hierarchyid
sql_variant

link

Non uso mai nessuno di quel tipo, ma quando si usa dapper viene anche questo problema simile (elaborazione del tipo di dati dell'immagine), il modo più semplice per gestire questa limitazione è semplicemente tornare al vecchio OLE DB.

Oltre a questo basta usare questo come riferimento,

    
risposta data 12.08.2015 - 19:16
fonte
0

EF dovrebbe gestire la mappatura della maggior parte dei tipi di dati. Se stai usando qualcosa che non è gestito, dovresti essere in grado di personalizzare la mappatura. È più semplice escludere la mappatura per tipi sconosciuti e salvare l'oggetto in modo appiattito all'interno o in relazione all'entità. Il rovescio della medaglia è che l'interrogazione potrebbe essere più utile ed è necessario fornire qualcosa per convertire il proprio oggetto durante la lettura e la scrittura, ma lo si sta forse facendo già durante la conversione in viewmodels.

    
risposta data 13.07.2015 - 13:54
fonte
0

EF isola il tuo codice dal database concreto. Ogni database ha le sue caratteristiche, ma l'API di EF non è così potente da poterle esprimere tutte. In realtà, dal lato del cliente EF è un semplice archivio di oggetti.

Quindi, se vuoi gestire tali funzionalità del database come tipi di dati specifici, controlli di sicurezza, trigger, visualizzazioni ... EF non può aiutarti. Non ho visto nulla che possa aiutarti. Devi introdurre una dipendenza dal server SQL nel tuo sistema.

    
risposta data 12.08.2015 - 18:59
fonte

Leggi altre domande sui tag