我有一组基于 ado.net 的现有(遗留)业务对象(类)。他们有从 SQL 服务器加载自己的方法和保存自己的方法。这在 EF 或 linq2sql 之前就已经存在很久了。
我想使用 EF 以及它提供的所有好处。问题是我的类实现了加载自己的逻辑,使用将 ado.net 值映射到其属性的自定义逻辑。例如,他们可以使用“T”和“F”字符映射到布尔值,或者可以提取映射到集合的 CSV 值,或者可以将 varchar 值映射到枚举。这在它的 .Load() 方法中没有问题,因为所有的逻辑都已经写好了。这个应用程序很旧。
例如,我现有的客户类对应于客户表,但无法自动映射其值。
理想情况下,我想达到一个可以使用数据上下文并获得 IQueryable 结果的地步,这样我就可以使用 linq 查询数据库并保存更改,但是当行从数据库中出来时,我需要运行一些自定义逻辑来得到创建的类。
那么,如何以最不痛苦的方式将 EF4 与现有模型和需要自定义逻辑以将 SQL 值映射到属性(即其现有 .Load() 和 .Save() 方法)的现有 poco 类一起使用?