我开始在Typescript中开发移动Web应用程序并决定使用JayData。在线查看JayData的网站,我只找到了有关如何使用OData打字稿的详细信息。
经过多次挖掘,我设法让它发挥作用。我目前只面临一个问题(稍后将在本文中介绍)。首先,我想分享一些步骤,让它在这里工作,以帮助任何人尝试实现同样的目标。
您可以按照以下步骤操作:
将内容提取到所需的文件夹并运行以下命令:
C:\temp\Jaydata\>JaySvcUtil.exe --metadataUri http://services.odata.org/Northwind/Northwind.svc/$metadata --out northwind.js -namespace Northwind
这会生成2个文件(' northwind.d.ts'和' jaydata.js')。这些文件可以用作"模板"为您编写自己的安装类/代码。
更改类名称/属性以反映您自己的架构。
您需要同时使用这两个文件。 .js文件包含数据库定义(数据类型/等)。
完成设置后,在html页面上添加Models / JayData脚本的引用:
<script src="scripts/libs/jaydata/jaydata.js"></script>
<script src="scripts/libs/jaydata/jaydataproviders/WebApiProvider.min.js">/script>
<script src="scripts/models/models.js"></script>
在主TS文件上,您可以初始化数据库:
var myDB = new MyDB.Model.TodoEntities({
name: 'local',
databaseName: 'myDbName'
});
myDB.Todos.add(new MyDBModel.Todo({ TodoId: undefined, Description: '123-654-1'}));
这样做就像魅力一样。希望它可以帮到某人。
一切正常,除了执行查询时的智慧:
myDB.Todos.filter(col => col.TodoId > 1)
.orderByDescending(col => col.TodoId) <---NO INTELLISENCE HERE
在查询的第一部分(过滤器)我有完全的智能,但是在第二部分(orderByDescending) col 未标识为MyDBModel.Todo类型。如果我手动将它转换为MyDBModel.Todo,它可以正常工作。
我做错了吗?有办法解决吗?
由于