Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unicode插入在EF6迁移中不起作用_C#_Sql Server_Entity Framework 6 - Fatal编程技术网

C# Unicode插入在EF6迁移中不起作用

C# Unicode插入在EF6迁移中不起作用,c#,sql-server,entity-framework-6,C#,Sql Server,Entity Framework 6,在迁移中放入一些insert语句时,EF6/SQL Server 2008出现问题 insert SQL放在Up方法中,该方法包含一些特殊字符,如下所示,但它们在web上以UTF8编码显示为? INSERT INTO [Items] ([Id],[Code],[Name]) VALUES (NEWID(), 'transport', 'ả'), (NEWID(), 'travel', 'ệ'), (NEWID(), 'social', 'ể'); 如果我们在Seed

在迁移中放入一些insert语句时,EF6/SQL Server 2008出现问题

insert SQL放在
Up
方法中,该方法包含一些特殊字符,如下所示,但它们在web上以UTF8编码显示为

INSERT INTO [Items] ([Id],[Code],[Name])
VALUES (NEWID(), 'transport', 'ả'),
       (NEWID(), 'travel', 'ệ'),
       (NEWID(), 'social', 'ể');
如果我们在
Seed
方法上切换到使用C#code并创建实体,那么它就可以正常工作。迁移文件.cs和配置文件.cs都以Unicode UTF8编码保存

INSERT INTO [Items] ([Id],[Code],[Name])
VALUES (NEWID(), 'transport', 'ả'),
       (NEWID(), 'travel', 'ệ'),
       (NEWID(), 'social', 'ể');

我做了一些调查,但没有什么好消息。您知道如何使迁移工作正常吗?非常感谢

@unninten it is nvarchar for all text columns如果您使用CodeFirst方法,您将尝试删除所有表并再次运行它。SQL Server将
nvarchar
存储为UTF-16。SQL Server中不支持UTF-8。如果要确保SQL Server使用Unicode(
nvarchar
),必须在字符串文本之前提供
N
前缀-使用
(NEWID(),N'transport',N'ả'),谢谢@marc_s,这正是修复方法!