Oracle 如何在EF6代码中首先使用十进制类型

Oracle 如何在EF6代码中首先使用十进制类型,oracle,entity-framework,ef-code-first,Oracle,Entity Framework,Ef Code First,我只是想问一下,是否有一种方法可以将模型中的数字(oracle数据库)精确地表示为十进制数 我认为我这样做应该是可行的,但我会收到奇怪的错误消息 关于模型创建: modelBuilder.Entity<Application>().Property(x => x.Id).HasPrecision(9, 0); 有什么想法吗?您的oracle数据类型是什么?数字(9,0)在这种情况下,您在oracle中的数字只有整数级别的精度,但您指定它有精度?为什么不使用数字整型呢?我使用

我只是想问一下,是否有一种方法可以将模型中的数字(oracle数据库)精确地表示为十进制数

我认为我这样做应该是可行的,但我会收到奇怪的错误消息

关于模型创建:

 modelBuilder.Entity<Application>().Property(x => x.Id).HasPrecision(9, 0);

有什么想法吗?

您的oracle数据类型是什么?数字(9,0)在这种情况下,您在oracle中的数字只有整数级别的精度,但您指定它有精度?为什么不使用数字整型呢?我使用的数据库有很多不同精度的数字,所以我想在代码中将它们都表示为小数。我知道我总是可以使用整数,但我很惊讶这不起作用。没有精度的Oracle数字默认为整数,有精度的数字默认为小数。您可以尝试添加modelBuilder.Entity
(7,12) : error 2019: Member Mapping specified is not valid. The type 'Edm.Decimal[Nullable=False,DefaultValue=,Precision=9,Scale=0]' of member 'Id' in type 'Application' is not compatible with 'OracleEFProvider.number[Nullable=False,DefaultValue=,Precision=9,Scale=0]' of member 'ID' in type 'CodeFirstDatabaseSchema.Application'.