2011-08-29 64 views
1

我先使用EF4 4.1代碼並嘗試使用SQLCE作爲數據源。EF4 Code First&SQLCE 4.0 - 生成數據庫時發生異常

用的MaxLength大於4000的String列,不支持:在SQL Server 2008實例時指出,但是當我改變我SQLCE得到以下異常

一切完美的作品。

這是它抱怨的財產,因爲你可以看到它的長度設置爲1024個字符,所以我難以理解爲什麼它抱怨4000?

[Required] 
[DataType(DataType.Text), RegularExpression("http://www.*"), StringLength(1024)] 
[Display(Name = "Page URL (http://www.)")] 
public string Url { get; set; } 

這是我的連接字符串:

<add name="DataContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCe.4.0" /> 

這是從Global.asax的數據庫初始化:

Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); 
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataContext>()); 

任何想法我失蹤?

謝謝:)

+1

你確定沒有其他字符串列超過4000個字符的長度是多少?如果從屬性中刪除「StringLength」或「DataType」,會發生什麼?如果用EntityFramework.dll中的'MaxLength'替換StringLength,會發生什麼? –

+0

同樣的問題......我有一種感覺,數據庫沒有正確生成,拋出的異常是更深層次問題的結果。 – timothyclifford

回答

0

更改的數據類型爲nvarchar(從文)

+0

字符串不是有效的EF數據註釋?試圖刪除整個DataType項目沒有運氣。 – timothyclifford

相關問題