实体框架与阿拉伯语

时间:2017-11-23 22:49:24

标签: c# sql-server entity-framework-6

我们首先尝试使用EF6数据库在数据库列中保存文章(长字符串),文章字符超过4000个字符,因此我们将列类型从NVARCHAR(4000)更改为VARCHAR(8000)但是在我们尝试之后保存在数据库中,我们发现数据保存为quationmark'???? ???? ????” ,我们将列排序规则更改为Arabic_CI_AI 如下:

ALTER TABLE laws.ArticleContent ALTER COLUMN TextAr VARCHAR(8000)COLLATE Arabic_CI_AI

但仍然有同样的问题我们在更改了列属性之后更新了Edmx但仍然相同,我们将Edmx中的属性更改为Unicode = true并且我们得到了相同的结果,所以请任何帮助

我们首先使用MSSQL2008R2和EF6数据库

插入后的表格:

enter image description here

Edmx更新: enter image description here

更新列排序规则后的表格: enter image description here

1 个答案:

答案 0 :(得分:2)

将列数据类型更改为nvarchar(max)
默认情况下,这会将字段长度设置为4000,除非您发送的数据超过4000,它会将其转换为指向数据的指针。

一些有用的问题和答案:
What is the maximum characters for the NVARCHAR(MAX)?
Are there any disadvantages to always using nvarchar(MAX)?