首先使用Entity Framework 6代码:将字符串属性的unicode设置为false

电子战

在我的模型中,我有一些用StringLength属性装饰的实体:

[StringLength(128)]    
public string FirstName { get; set; }

我也以这种方式为所有字符串属性禁用了unicode:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Properties<string>().Configure(p => p.IsUnicode(false));            
}

问题在于,在生成数据库模式时,所有用上述属性修饰的字符串属性都将忽略此设置,从而为相应的数据库列生成nvarchar数据类型。在这种情况下,禁用unicode的正确方法是什么?

格特·阿诺德

似乎是新PropertyConventionConfigurationAPI中的错误(或遗漏)以下配置确实有效,因此可以作为解决方法:

modelBuilder.Properties<string>().Configure(x => x.HasColumnType("VARCHAR"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

首先使用Entity Framework 6代码初始化数据库

如何首先使用代码在Entity Framework 6.2中创建索引

首先使用代码在Entity Framework Timestamp中查找更新的条目

首先使用Entity Framework代码创建复杂的主键

首先使用Entity Framework Core 2代码创建varchar

首先使用Entity Framework 6.1代码持久化和检索序列化的实体属性

Entity Framework Core 代碼首先使用外鍵進行多對多保存

c#WPF首先使用LINQ在Entity Framework代码中将组合框绑定到TPH

首先使用Entity Framework数据库时,使用T4模板更改属性数据类型

Entity Framework 5.0代码首先进行多对多更新

首先,Entity Framework 5代码无法使模型正常工作

首先从SQL迁移到Entity Framework代码

首先在Entity Framework代码中链接子表

带有Entity Framework Core 2.1.4代码的.NET CORE 2.1.1代码优先:从字符串转换日期和/或时间时转换失败

如何首先在Entity Framework代码中为Identity主键设置起始值?

SQL Server上的Entity Framework 6代码优先:将“布尔”映射为“数字(1,0)”而不是“位”

首先在同一张表中启用Entity Framework 5代码中的多对多

首先在哪里可以找到Entity Framework 4.0代码中的.csdl,.ssdl和.msl文件?

如何首先在Entity Framework Core 2.0代码中按类型继承创建Table?

Entity Framework Core - 首先将动态值分配给代码中的公共列

如何从Entity Framework 6(首先是数据库)和Npgsql执行存储过程?

如何使用Entity Framework修剪字符串?

首先将EF6存储功能用于Entity Framework代码,我可以返回自定义类型吗?

将具有相同表的实体映射到不同的架构中Entity Framework 6首先编码

使用Entity Framework Core存储计算的属性

Entity Framework Core 可以投注设置以使用备份连接字符串吗?

如何使用Entity Framework通过SetParameters设置Code First连接字符串

使用Entity Framework加载具有大字符串属性的实体时性能不佳

为什么Entity Framework 5代码优先不映射我的枚举属性?