从 DevExpress XPO 中的旧列获取数据

Get data from old column in DevExpress XPO

我正在尝试为数据库更改时开发一个迁移系统。我使用 DevExpress XPO 作为我的 ORM,这样我就可以针对多种数据库类型。

对于列添加,ORM 工作正常 - 但当列被删除时,问题就多了一点。

ORM 在更新架构时不会从数据库中删除列 - 这很好。但是,为了迁移该数据,我希望从仍然存在但不在我的对象模型中的列中获取数据。

我知道我可以 运行 通过连接进行原始查询,但这意味着 SQL 针对特定的数据库类型 - 这是我在使用此 ORM 时想要避免的。

我 运行 一直在努力寻找获取这些数据的方法,因此我向社区寻求帮助。有什么想法吗?

您可以不使用对象模型,而是基于现有数据库生成临时模型以用于迁移目的。 XPO 具有发现数据库模式和动态构建持久模型的内置功能。本文介绍如何使用这些功能:How to create persistent metadata on the fly and load data from an arbitrary table