- 📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!
- 📢本文作者:由webmote 原创,首发于 【掘金】
- 📢作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!💪💪💪
1.来自RowVersion的映射困惑
Sqlserve里的RowVersion类型的字段通常被用作乐观锁并发写,而我们平常使用的时候基本把它映射为byte[]即可,无需为它赋值。
但有时候由于业务需要,可能需要读取它,做些业务动作,我们该怎么映射它呢,能直接映射为long或ulong吗?
答案很客观,直接映射为其他类型,直接提示不能把byte[]映射为其他类型。
Stackoverflow有个伙计说,自己读到byte[],然后解析为ulong,哦哦哦,非常麻烦的了。
2. EF 值转换
其实EF提供了值转换功能,可以完成各种类型的读、写转换。
转换器允许在读取或写入数据库时转换属性值。 此转换可以从一个值转换为同一类型的另一个值,并且你不需要处理null这种情况,因为null数据不会调用该转换器。
3. 配置转换器
值转换在 DbContext.OnModelCreating中进行配置。
protected