即使指定了精度,实体框架验证警告:XAF日志



我的业务对象中有以下内容

using System.ComponentModel.DataAnnotations;

[ModelDefault("DisplayFormat", "{0:g}")]
[ModelDefault("EditMask", "g")]
[DataType("decimal(18,5)")]
public decimal Score { get; set; }

应用程序按预期运行,但在eXpressAppFramework.log中,我看到了

Microsoft。EntityFrameworkCore。模型验证:警告:没有类型为实体类型的十进制属性"Score"指定"RatingEntry"。如果值不符合默认的精度和比例。显式指定SQL server列类型,可以容纳中的所有值"OnModelCreating"使用"HasColumnType((",指定精度和小数位数使用"HasPrecision(("或使用配置值转换器"HasConversion(("。

EF只是不将DataTypeAttribute作为其配置的一部分来读取。使用ColumnAttribute,例如

[Column(TypeName = "decimal(18,5)")]

以配置列数据类型。混乱的产生是因为系统。组件模型。DataAnnotations不仅仅用于EF实体注释。

最新更新