我目前正在将对象转换为 csv 并再次转换回来。我已经到了需要考虑版本控制如何工作的地步。我正在使用的当前库是 CsvHelper
例如,在我们的业务领域中,产品发布后需求发生变化是很常见的,因此最初存储 GPS LAT 和 GPS LONG 的对象可以在生产使用一段时间后扩展,以将 NumberOfSatellites 作为人为的案例。
这意味着有最初以第一种格式写出的文件;纬度,只要 V1,现在是带有 NumberOfSatellites 的 V2。理想情况下,这个原始数据应该能够被 V2 对象读取以进行测试和向后兼容。
同样,如果不再需要某个属性,例如 V3 中的 NumberOfSatellites ,则 V1 和 V2 生成的数据应该仍然有效,还是应该无效?
最后,如果更改财产名称会发生什么,例如 GPS LAT 重命名为 LATITUDE。V1、V2 和 V3 中的数据应该仍然可以读取。
其他人如何解决这些问题?还是我对 CSV 格式的期望过高