实际上,在我没有使用框架或LINQ之前,只需键入sql语句与Sqlcommand类,我键入insert into table values(N'sample')
实际上我不知道什么是N,但它适用于中文和其他语言,否则,会插入一些问号。EntityFramework更新或插入中文或非英文文本
但是,当我使用EntityFramework,这种框架总是插入一些问号,我可以问如何解决这个问题。
N表示Unicode? 你能给我一个EntityFramework使用这种事情的例子吗?
实际上,在我没有使用框架或LINQ之前,只需键入sql语句与Sqlcommand类,我键入insert into table values(N'sample')
实际上我不知道什么是N,但它适用于中文和其他语言,否则,会插入一些问号。EntityFramework更新或插入中文或非英文文本
但是,当我使用EntityFramework,这种框架总是插入一些问号,我可以问如何解决这个问题。
N表示Unicode? 你能给我一个EntityFramework使用这种事情的例子吗?
确保在装有用于中文的sqlserver的服务器上安装了语言包。
这样EF将保存unicode字符。
这解决了我的问题...从“????”文本到真正有效的字符串谢谢 – OldTrain
,我们只是改变了数据类型为nchar()或nvarchar和它的工作。它能够以除英语以外的任何语言存储数据。
我对尼泊尔语有完全相同的问题。我必须将sqlserver的数据类型从varchar转换为nvarchar,然后在实体框架映射中刷新我的* .edmx文件。然后它运行良好。
VARCHAR(255)=>为nvarchar(255)
VARCHAR(MAX)=>为nvarchar(MAX)
在EDMX文件右键点击该表映射和刷新。保存更改。
是的,你可以问...... :) – gdoron
顺便说一句,我测试EF与希伯来文在它工作得很好。中文是否包含在unicode中? – gdoron
它可能取决于数据库的外观。如果您使用的是SQL Server - 您的列是nvarchar还是nchar?在EF中,字符串属性需要将Unicode设置为true。您是先使用CodeFirst还是数据库/模型? – Pawel