2

我们开始在使用 SQL Server 2008 R2 Express 存储的 C# 项目中使用 .NET 版本的 OrmLite。https://github.com/ServiceStack/ServiceStack.OrmLite

现在我们发现使用 SQL Server 的 ORM 映射器无法将 Unicode 字符保存到表中。

我们需要多语言应用程序(因此在 SQL Server 中设置特定的 LOCALE 不是解决方案)。

我们还测试了使用普通 ADO.NET 都可以正常工作!

我们还尝试设置配置选项:

OrmLiteConfig.DialectProvider.UseUnicode = true;

一点变化都没有!
(我认为它只与表创建而不是字符串保存有关......)

4

2 回答 2

1

对于仍然遇到此问题的人:在 OrmLite 的 v3.9.71 中,如果您设置此问题已得到修复OrmLiteConfig.DialectProvider.UseUnicode = true;

这会将基础查询更改为使用 Unicode。

于 2016-02-10T10:00:08.800 回答
1

对于 .NET 核心

你应该把:

OrmLiteConnectionFactory dbFactory = new OrmLiteConnectionFactory(connStr, SqlServerDialect.Provider);

OrmLiteConfig.DialectProvider.GetStringConverter().UseUnicode = true;

进入你的 Startup.cs

于 2019-09-26T11:01:39.957 回答