2020-03-31 20:45 值转换器 和 值比较器

2020-05-20  本文已影响0人  daiwei_9b9c

值转换器允许在读取或写入数据库时转换属性值。

值比较器

不建议将枚举转换为字符串

使用值转换可能会影响 EF Core 将表达式转换为 SQL的能力

看上去很美,用起来悲催, 例如,枚举转换为字符串,数据库内存放的是字符串,
但如果,EF LINQ中传入了数字参数,则查询可能会出错.

var converter = new EnumToStringConverter<EquineBeast>();
modelBuilder
    .Entity<Rider>()
    .Property(e => e.Mount)
    .HasConversion(converter);

或者

对于内置转换器存在的常见转换,无需显式指定转换器。
只需配置应使用的提供程序类型,EF 会自动使用适当的内置转换器。
modelBuilder .Entity<Rider>() .Property(e => e.Mount) .HasConversion(converter);

内置转换器

上一篇下一篇

猜你喜欢

热点阅读