entity-framework - Entity Framework6 中的 HasConversion 函数
问题描述
我有 2 个数据库(oracle 和 postgre)。
由于某种原因,同一字段中存在具有不同数据类型的表。
PostgreSQL 中的 FIELD 类型为 NUMBER(1),但 Oracle 中的类型为 VARCHAR(1)。
在我的程序中,我将此字段设置为数字类型。
public class Table
{
public int? FIELD { get; set; }
}
并在检测到用户输入oracle数据库连接时在builder中设置转换。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
if (DBType == "Oracle") //Oracle
{
modelBuilder.Entity<Table>().Property(b => b.FIELD).HasConversion<string>();
}
}
这些代码在 EF Core 中运行良好。
但最近我需要使用 Entity Framework 6 启用此功能。
而且我发现实体框架中没有“HasConversion”功能。
我尝试改用“HasColumnType”。
modelBuilder.Entity<Table>().Property(b => b.FIELD).HasColumnType("varchar2");
但是会出现错误:
错误 2019:指定的成员映射无效。'Models.TABLE' 类型中成员 'FIELD' 的类型 'Edm.Int32[Nullable=True,DefaultValue=]' 与 'OracleEFProvider.varchar2[Nullable=True,DefaultValue=,MaxLength=32767,Unicode=False 'CodeFirstDatabaseSchema.TABLE' 类型中成员 'FIELD' 的 ,FixedLength=False]'。
如何解决这个错误?
解决方案
推荐阅读
- amazon-web-services - 如何使用 ECS 和 EC2 实例集群实现零停机部署
- mysql - MariaDB 服务无法启动并出现 InnoDB Space id 错误
- pine-script - OTT 筛选器仅显示标签中的购买代码
- reactjs - Heroku heroku-nextjs buildpack 构建失败
- python - 如何保存通过烧瓶 send_file 发送的图像
- excel - 每次满足条件时增加 Selection.Resize
- python - Python中的类型检查验证 - 陷入循环
- mysql - SQL/Presto:如何根据另一个列表列中的值对列中的列表进行排序
- python - Tweepy on_data 接收无
- python - 使用 websocket 实现更快的 Python 屏幕共享