EF:oracle的number类型映射为C#的boolean类型
--------------------------------------------------------------------------------
一开始用下面的方法映射,
Property(p => p.IsFixed).HasColumnName("IS_FIXED").HasColumnType("number(1,0)");
结果报告错误:错误 0040: 类型 number(1,0) 未使用命名空间或别名进行限定。只有 PrimitiveType 才可以在不限定的情况下使用。
后来改用下面的方法映射则成功了:
Property(p => p.IsFixed).HasColumnName("IS_FIXED").HasColumnType("odp_internal_use_type");
详细代码在DBContext类中
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Client>(t => { t.Property(p => p.AllowAccessTokensViaBrowser).HasColumnName("AllowAccessTokensViaBrowser").HasColumnType("odp_internal_use_type"); }); modelBuilder.ConfigureClientContext(storeOptions); modelBuilder.ConfigureResourcesContext(storeOptions); base.OnModelCreating(modelBuilder); }
本文解决Entity Framework将Oracle的NUMBER类型映射至C# BOOLEAN类型的挑战,通过调整TypeMapping避免错误,实现数据类型的有效转换。
1632

被折叠的 条评论
为什么被折叠?



