EntityFramework更新或插入中文或非英文文本

时间:2012-09-28 01:04:49

标签: c# asp.net entity-framework

实际上在我没有使用framework或linq之前,只需输入带有Sqlcommand类的sql语句,我输入insert into table values(N'sample') 实际上我不知道什么是N,但它适用于中文和其他语言,否则会插入一些问号。

但是当我使用EntityFramework时,这种框架总会插入一些问号,请​​问如何解决这个问题。

N表示Unicode? 你能给我一个EntityFramework使用那种东西的例子吗?

4 个答案:

答案 0 :(得分:4)

  1. 在.edmx表中,选择列 - >检查其属性并将unicode设置为true
  2. 如果您在Code First Apporach中工作,则重新生成表格
  3. 检查数据库表,它应该是nvarchar或ntext数据类型
  4. 这样,EF将保存unicode字符。

    enter image description here

答案 1 :(得分:2)

我对尼泊尔语有完全相同的问题。我必须将sql server列的数据类型从varchar转换为nvarchar,然后在实体框架映射中刷新我的* .edmx文件。然后它工作正常。

varchar(255)=>为nvarchar(255)

varchar(MAX)=>为nvarchar(MAX)

右键单击edmx文件中的表映射并刷新。保存更改。

答案 2 :(得分:0)

确保在包含sqlserver for Chinese的服务器上安装了语言包。

答案 3 :(得分:0)

我们刚刚将数据类型更改为nchar()或nvarchar并且它可以正常工作。它能够以除英语之外的任何语言存储数据。