gpt4 book ai didi

entity-framework-core - EF CORE如何将NVARCHAR转为VARCHAR

转载 作者:行者123 更新时间:2023-12-05 07:40:19 25 4
gpt4 key购买 nike

在 Entity Framework 6.X 中,可以通过以下方式更改默认数据库类型:

modelBuilder.Properties<string>().Configure(c => c.HasColumnType("varchar"));

在 EF Core 中我该怎么做?

Properties() 方法不存在。

最佳答案

从 EF Core 6 开始,基于 Entity Framework 的 github 存储库 (see here):

previous versions of EF Core (before EF Core 6) require that themapping for every property of a given type is configured explicitlywhen that mapping differs from the default. This includes "facets"like the maximum length of strings and decimal precision, as well asvalue conversion for the property type.

在继承自 DbContext 的类中覆盖 ConfigureConventions

protected override void ConfigureConventions(
ModelConfigurationBuilder configurationBuilder)
{
configurationBuilder
.Properties<string>()
.AreUnicode(false)
.HaveMaxLength(1024);
}

因此所有字符串属性都可以配置为 ANSI(而不是 Unicode)并且最大长度为 1024,因此在迁移时将字符串映射到 nvarchar 更改为 varchar应用于数据库。

关于entity-framework-core - EF CORE如何将NVARCHAR转为VARCHAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46248316/

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