我试图用C#代码将波斯语中的东西插入我的数据库(SQL server 2008)。 问题是当你在sql server中插入时,你只需使用N'چیزی'来表示utf-8.但是如何 你可以在LINQ中这样做吗? (我不想使用存储过程)。 Thnks
答案 0 :(得分:2)
只需使用字符串"چیزی"
,并确保您的.cs
文件也是UTF-8
。
将其用作参数化查询或您正在使用的任何ORM中的参数。数据访问层将负责编码。
答案 1 :(得分:0)
LINQ to EF或LINQ to SQL将自动生成/使用N':
exec sp_executesql N'update [dbo]。[用户] 设置[名称] = @ 0 where(([Id] = @ 1)和([Name] = @ 2)) ',N'@ 0 nvarchar(max),@ 1 int,@ 2 nvarchar(max)',@ 0 = N'User name 1',@ 1 = 1,@ 2 = N'Vahid'
< / LI>那些N'ي'(阿拉伯语Ye)或N'ى'(波斯语Ye)都是有效的UTF-8字符。因此,您需要自己(在插入数据之前)之间进行转换,这不是EF或SQL Server的职责。 Some examples关于它(波斯语)。