3

我想将我的字符串列的默认nvarchar(4000)替换为SQL Express中的文本数据类型。我使用这个代码。EF4 CTP5 - HasColumnType不起作用

modelBuilder.Entity<Accommodation>() 
       .Property(p => p.Information) 
       .HasColumnType("text"); 

但是列的类型仍然是为nvarchar?

我也问这里http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/a1d84ea9-2f8e-42f0-bb83-ac9f68805d6d?prof=required

+2

您应该考虑使用_nvarchar(max)_而不是_text_。 Microsoft保留SQL Server 2005和2008中的文本数据类型以实现向后兼容,但他们鼓励您使用新的nvarchar(max)数据类型。 (http://msdn.microsoft.com/en-us/library/ms178158(v=SQL.100).aspx) – 2011-01-27 11:40:48

回答

1

啊我只是想通了,加上流利的映射不足以迫使该表再次dropAndCreate本身即使我DropCreateDatabaseIfModelChanges设置。我不得不强迫它手动更新表格。