2016-11-05 30 views
0
var q_truck = (from item in datagate.item 
       join belong in datagate.belong on item.belong_id equals belong.id 
       where item.plate.StartsWith(textBox1.Text) 

所以這裏的問題是,當我用希臘字母.StartsWith.Contains不工作,他們獲取錯誤的結果。C#實體 - SQLite的和Unicode(希臘)

的ConnectionString有行「字符集= utf-8」,字符串字段NVARCHAR,串田的模型屬性必須以Unicode不錯,就modelContext我加

modelBuilder.Properties<string>().Configure(x => x.HasColumnType("NVARCHAR")) 

,甚至刪除數據庫作出了新的,製作了字符串字段,如text/string/varchar ...什麼都沒有。英文和數字工作得很好。

我已經添加了所有必要的Nuget包,甚至Microsoft.Data.SQLite。 我不知道還有什麼可以做的,我試圖讓它現在工作3天,沒有結果!

回答

0

的SQLite FAQ:Unicode字符

區分大小寫的匹配不起作用。

SQLite的默認配置只支持不區分大小寫的ASCII字符比較。

您需要具有ICU(國際組件的Unicode)擴展名的SQLite。

+0

您可能是對的,我下載的Windows ICU包中沒有「allinone」文件,正如說明所述。所以現在,我選擇通過執行Entity Native SQL Query來解決這個問題,就像這裏描述的那樣:http://www.entityframeworktutorial.net/EntityFramework4.3/raw-sql-query-in-entity-framework。 ASPX –