2012-04-12 20 views
6

İlk önce EF kodunu kullanan bir sistemle çalışıyorum ve bir tabloda bir dizi SQL Server seyrek sütun kullanmak istiyorum. Mevcut çözümüm, EF tarafından oluşturulan tabloyu kaldırmak ve veritabanı başlatılırken bir komut dosyasıyla yeniden eklemektir. EntityTypeConfiguration veya diğer araçlardan miras alınan bir sınıfta Fluent API ile yapılandırılabilecek bir şey var mı? Eğer göçler kullanmak bileEF Code First Fluent API kullanırken veritabanı sütunu "Seyrek" olarak nasıl ayarlanır?

Sql("alter table TableName alter column ColumnName int sparse"); 

, herhangi bir: Varlık Çerçeveleri göçler kullanırsanız

+0

Denemedim ama '.HasColumnType (" INT SPARSE ")' i kullanırsanız ne olur? –

+1

@LadislavMrnka Denedim .HasColumnType ("INT SPARSE") ve attı (182,6): 0040 hata: Type int sparse bir ad alanı veya diğer ad ile nitelikli değil. Kalifikasyon olmadan sadece ilkel türler kullanılabilir. ”Fikir için teşekkür ederim. – cResults

+0

Eh, muhtemelen seyrek sütunların desteklenmediği anlamına gelir. –

cevap

3

, sen seyrek sütun ekler göç Up yönteminde böyle bir SQL deyimi verebilir Aynı SQL ile dbContext.Database.ExecuteSqlCommand-zamanlı yürütme çalışacaktır.

Her iki yöntem de EF ile türü kolayca yapılandırabildiğiniz kadar güzel değildir, ancak yine de tüm tabloyu bırakıp değiştirmekten daha iyidir.