1

我有一个遗留数据库,我想通过一个全新的 API 公开它。

我需要将模型的字段名称从旧数据库映射到我的新模型类。

我想以类型安全的方式执行此操作,而不是仅使用容易出错的字符串映射字典。

// The new model.
class Patient {
  firstName: string
  lastName: string
  dateOfBirth: Date
}

var p: Patient;

legacyToNewModelMappings =
  "First Name": p.firstName
  "Family Name": p.familyName
  "DOB": p.dateOfBirth

这很好,因为如果我更改新模型中的字段,重构将很容易,如果出现问题,我会在 IDE 中收到警报。

但是我需要能够在两个模型之间来回映射。虽然使用引用意味着我无法从旧数据库映射到新数据库。

我在 Node.js 中使用 TypeScript。

我应该考虑其他任何方法吗?

4

1 回答 1

1

我试图了解您在这里尝试完成的工作,所以如果我错了,请纠正我。

您不能在一个模型上使用 getter 和 setter 来匹配两个数据库的字段名称属性吗?

class Patient {
    public firstName: string;
    public lastName: string;
    public dateOfBirth: Date;

    get "First Name" (): string {
        return this.firstName;
    }
    get "Family Name" (): string {
        return this.familyName;
    }
    get "DOB" (): Date {
        return this.dateOfBirth;
    }

    set "First Name" (value: string) {
        this.firstName = value;
    }
    set "Family Name" (value: string) {
        this.familyName = value;
    }
    set "DOB" (value: Date) {
        this.dateOfBirth = value;
    }
}
于 2013-10-09T15:51:47.293 回答