gpt4 book ai didi

c# - Code First 问题,使用西里尔文播种数据

转载 作者:太空狗 更新时间:2023-10-29 23:13:32 25 4
gpt4 key购买 nike

我正在使用种子方法来填充数据库。一些对象具有西里尔字母的属性。示例:

context.Wines.AddOrUpdate(new Wine()
{
Id = 1,
Name = "Шардоне",
etc........................................

对象已在数据库中正确创建,但是当我在 MS SQL 管理工作室中检查数据库时, Wine 的名称不是“Шардоне”,而是显示为“Øàðäîíå”。

奇怪的是,当我像这样在 Startup 类中创建 Wine 时:

var db = new WineSystemDbContext();
var ShardoneWine = new Wine { Name = "Шардоне};
db.Wines.Add(ShardoneWine);

数据库中的一切都以西里尔字母正确显示。

您知道是什么原因造成的吗?

最佳答案

您可以在connection string 中指定连接的字符集。 .只需将此部分添加到您的连接中:

charset=UTF8;

如果没有结果,您可以尝试更改 Configuration.cs 文件的字符集。有两种方法可以做到这一点。

  1. 在 Visual Studio 编辑器中关闭 Configuration.cs,然后在解决方案资源管理器中右键单击该文件并选择“打开方式...”->“带编码的 CSharp 编辑器”,然后从列表中选择“Unicode (UTF-8)带签名)- 代码页 65001"选项(如果此代码页会向您显示一些“中文”符号,请尝试其他代码页)。现在修复您的西里尔文章节并保存 Configuration.cs 文件。
  2. 选择"file"->“高级保存选项”,使用UTF-8编码播种数据的方式保存文件。

如果您使用 ntext,您也会遇到问题列类型。

关于c# - Code First 问题,使用西里尔文播种数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34622522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com