- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我是一名优秀的程序员,十分优秀!