繁体   English   中英

Node.js 上 SQL Server 的 ORM

[英]ORM for SQL Server on Node.js

我正在为 Node.js 上的 SQL Server 寻找 ORM 映射器。 长话短说,我们有一个 SQL Server 正在运行,现在我们想使用 node.js 来构建从数据库中提取数据的 Web 服务。

你知道在 Node.js 上支持 SQL Server 的任何 ORM 吗?

我知道有一个乏味的东西可以帮助连接到 SQL Server,但它没有 ORM。

谢谢

根据文档支持在 2.0 版中可用(于20152 月 10 日发布,之前在201412 月 22 日的候选发布版本中添加)。

到目前为止,SQL Server 还没有在 Node.js 社区中获得大量支持。 而且,由于大多数 Node.js 生态系统是社区驱动的,您的选择可能相当有限。

这并不是说没有计划增加对它的支持; 只是还没有多少人做到了。 示例: sequelize的作者已表示有意最终添加支持

现在,如果以列作为键获得纯Object就足够了,微软自己的msnodesql可以是一个很好的选择, 它的query()方法

sql.query(conn_str, "SELECT 1 as X, 'ABC', 0x0123456789abcdef ", function (err, results) {

    assert.ifError(err);

    var buffer = new Buffer('0123456789abcdef', 'hex');
    var expected = [{ 'X': 1, 'Column1': 'ABC', 'Column2': buffer}];

    assert.deepEqual(results, expected, "Results don't match");

    done();
});

我建议看看Prisma 我们刚刚宣布了对 SQL Server 的预览支持。

这是一个强调类型安全和开发人员体验的 ORM。 与通常将表映射到类的传统 ORM 不同,Prisma 将查询映射到类型(在 TypeScript 中)并从查询返回普通对象。

要开始使用 Prisma 和 SQL Server,请查看此示例从文档中的从头开始指南

我喜欢Node-odbc ,我认为某种 ODBC 抽象可能是 NodeJS 中所有 RDBMS 的最佳选择

我正在使用Bookshelf ORM,它通过对Knex.js 的依赖内置了对 MS SQL Server 的支持,尽管 Bookshelf 网站上没有明确列出。

在 Bookshelf 初始化时指定client: 'mssql'

看看mssql-orm 它支持将大型对象图写入 SQL Server,但有一个非常轻量级的 API:

var person = db.model({table: 'people'});

var bob = person({
  name: 'bob'
});

bob.save();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM