Model.findAll({
attributes: ['foo', 'bar']
});
这是可怕的,因为它不允许 ORM 的主要优点之一:类型安全。
我想做的是:
Model.findAll({
attributes: [Model.foo, Model.bar]
});
其他 ORM 支持这一点。例如 Prisma 和实体框架(显然是 .Net)。
有什么办法可以用Sequelize实现类似的效果吗?也许甚至还有一些额外的图书馆?
您可以创建类型:
type ModelAttributes = keyof Model;
那么你可以使用这个类型:
const attr: ModelAttributes[] = ['foo', 'bar'];
Model.findAll({
attributes: attr,
});