meg*_*00b 5 .net c# entity-framework code-first
我正在使用种子方法来填充数据库.一些对象具有西里尔字母的属性.例:
context.Wines.AddOrUpdate(new Wine()
{
Id = 1,
Name = "???????",
etc........................................
Run Code Online (Sandbox Code Playgroud)
这些对象在数据库中正确创建,但是当我在MS SQL管理工作室中检查数据库而不是葡萄酒的名称为"Шардоне"时,它显示为"Øàðäîíå".
奇怪的是,当我在我的Startup类中创建葡萄酒时,如下所示:
var db = new WineSystemDbContext();
var ShardoneWine = new Wine { Name = "???????};
db.Wines.Add(ShardoneWine);
Run Code Online (Sandbox Code Playgroud)
一切都在数据库中以西里尔文显示.
你知道可能导致这种情况的原因吗?
您可以在连接字符串中指定connectin的字符集.只需将此部分添加到您的连接:
charset=UTF8;
Run Code Online (Sandbox Code Playgroud)
如果没有结果,您可以尝试更改Configuration.cs文件的char-set.有两种方法可以做到这一点.
如果使用ntext列类型,也可能会出现问题.