如何在Linq中使用N''到非Unicode字符的实体?

Sir*_*ifi 7 c# t-sql linq-to-entities

如何在Linq to Entity中使用N'',例如在T-SQL中我们有这个代码:

select *from students where name=N'?????? ?????'
Run Code Online (Sandbox Code Playgroud)

我有这个代码:

var query = from p in dbContext.Students
                            where p.Name == "?????? ?????"
                            select p;
Run Code Online (Sandbox Code Playgroud)

我如何使用Linq to Entity执行此操作?

我发现了这个 :

 var query = (from p in dbContext.Students
                             where p.Name == EntityFunctions.AsNonUnicode("?????? ?????")
                            select p);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

谢谢.

Moh*_*hin 0

如果您的列类型以 \'n\' 开头,例如nvarcharnchar那么您不需要N"在值的第一个位置添加。

\n\n

我已经尝试过以下方法并且它适用于nvarchar

\n\n
x.Name == "\xd8\xb3\xdb\x8c\xd8\xb1\xd9\x88\xd8\xa7\xd9\x86 \xd8\xb9\xd9\x81\xdb\x8c\xd9\x81\xdb\x8c"\n
Run Code Online (Sandbox Code Playgroud)\n