0

我试图从 C# 代码将波斯语的东西插入我的数据库(SQL server 2008)。问题是,当你在 sql server 中插入时,你只需将 N'چیزی' 用于 utf-8。但是你如何在 LINQ 中做到这一点?(我不想使用存储过程)。谢谢

4

2 回答 2

2

只需使用该字符串"چیزی"并确保您的.cs文件也是UTF-8如此。

将此用作参数化查询或您正在使用的任何 ORM 中的参数。数据访问层将负责编码。

于 2012-09-16T15:29:37.890 回答
0
  • LINQ to EF 或 LINQ to SQL 将在任何地方自动生成/使用该 N'':

    exec sp_executesql N'update [dbo].[Users] set [Name] = @0 where (([Id] = @1) and ([Name] = @2)) ',N'@0 nvarchar(max) , @1 int,@2 nvarchar(max) ',@0=N'用户名 1',@1=1,@2=N'Vahid'

  • 那些 N'ي' (阿拉伯语 Ye)或 N'ى' (波斯语 Ye)都是有效的 UTF-8 字符。因此,您需要自己在它们之间进行转换(在插入数据之前),这不是 EF 或 SQL Server 的职责。 关于它的一些例子(波斯语)。

于 2012-09-17T05:04:53.423 回答