Sto lavorando con un sistema che utilizza prima il codice EF e vorrei usare un numero di colonne sparse di SQL Server su una tabella. La mia soluzione attuale è di eliminare la tabella creata da EF e riaggiungerla tramite uno script durante l'inizializzazione del database. È qualcosa che può essere configurato con l'API Fluent in una classe ereditata da EntityTypeConfiguration o altri mezzi?Come impostare la colonna del database come "Sparse" quando si utilizza l'API First Fluent EF Code?
Q
Come impostare la colonna del database come "Sparse" quando si utilizza l'API First Fluent EF Code?
6
A
risposta
3
Se si utilizza Entity Frameworks migrazioni, è possibile emettere un'istruzione SQL come questo nel metodo Up per la migrazione che aggiunge la colonna di tipo sparse:
Sql("alter table TableName alter column ColumnName int sparse");
Anche se non si utilizza le migrazioni, uno qualsiasi -time esecuzione di dbContext.Database.ExecuteSqlCommand
con lo stesso SQL funzionerà.
In alcun modo è bello come se fosse possibile configurare il tipo in modo esplicito tramite EF, ma sono comunque meglio che eliminare e sostituire l'intera tabella.
Problemi correlati
- 1. Come utilizzare il database predefinito per la colonna CreatedDate in EF code-first 4.3?
- 2. Entity Framework - API Code First Fluent: ErrorMessage?
- 3. Perché EF DataBase First non usa getdate()?
- 4. Colonna calcolata in codice EF First
- 5. Enums EF 5.0 - Database First
- 6. Entity Framework Code First - Come ignorare una colonna quando si salva
- 7. Entity Framework 5 Code First - Come "ricominciare"?
- 8. EF First Fluent API definisce il vincolo univoco
- 9. Genera script SQL completo da EF 5 Code First Migrations
- 10. Eventuali esercitazioni API Fluent che utilizzano l'approccio EF Database-First per spiegare l'argomento?
- 11. Entity Framework 5 code first newsequentialid() come PK
- 12. EF 6 code-first con stored procedure personalizzata
- 13. È possibile specificare la colonna Identity quando si utilizza la strategia Fluent Nhibernate Table-Per-Subclass?
- 14. Entity framework code first migration strategy with database esistente
- 15. Come si imposta la dimensione massima del database quando si utilizza Entity Framework?
- 16. SQLite con codice EF First
- 17. Entity Framework 5 code-first non crea il database
- 18. Come rinominare una colonna del database in Entity Framework 5 Code Prime migrazioni senza perdita di dati?
- 19. Come impostare un valore su NULL quando si utilizza Zend_Db
- 20. Come posso impostare il valore predefinito di una nuova colonna della tabella durante le migrazioni Code-First?
- 21. Perché le classi Code First richiedono proprietà di navigazione?
- 22. Integrazione di Npgsql con Entity Framework Code First
- 23. Impostare l'indirizzo "Da" quando si utilizza System.Net.Mail.MailMessage?
- 24. Come faccio a impostare Scadenza: intestazione quando si utilizza Send_Data
- 25. Utilizzo del nome colonna quando si utilizza SqlDataReader.IsDBNull
- 26. Aggiornamento del modello nel database EF Primo progetto
- 27. Come impostare la parte del testo in grassetto quando si utilizza AlertDialog.setMessage() in Android?
- 28. Code First - Self-referencing one to many relation
- 29. Fluent NHibernate + database multipli
- 30. Come gestire ContentNotFoundError quando si utilizza wkhtmltopdf?
Non l'ho provato ma cosa succede se si utilizza '.HasColumnType (" INT SPARSE ")'? –
@LadislavMrnka Ho provato .HasColumnType ("INT SPARSE") e ha gettato '(182,6): errore 0040: Il tipo int sparse non è qualificato con uno spazio dei nomi o un alias. Solo i tipi primitivi possono essere usati senza qualificazione. Grazie per l'idea. – cResults
Beh, probabilmente significa che le colonne sparse non sono supportate. –