任何人都知道現在是否有可用的或將在不久的將來?Web SQL(javascript)有沒有ORM框架?
8
A
回答
3
我在找同樣的東西。這看起來很苗條。最看好我的那個人是persistence.js。 Impel也看起來不錯,但不幸的是,它看起來像一年半沒有更新。 ActiveRecord.js最終可能會解決,但它似乎並沒有支持Web SQL。希望有人會發布一些更多的選擇。
1
我也在尋找同樣的事情。 JazzRecord看起來像一個可能的候選人。
0
基於JazzRecord的實現是爲Appcelerator Titanium framework設計的joli.js實現。
7
有一個新的名爲JayData library,這個就像EntityFramework(或NHibernate)的JavaScript平臺:提供JavaScript Language Query (JSLQ)和JavaScript CRUD。還支持模型定義,navigationProperties和1..1.0,1..m,m..n關係。
我複製如何使用它短codesnippet:
//define storage model: Department and Employee in a 1..m relation
$data.Entity.extend("$org.types.Department", {
Id: { type: "int", key: true, computed: true },
Name: { type: "string", required: true },
Address: { type: "string" },
Employees: { type: "Array", elementType: "$org.types.Employee", inverseProperty:"Department" }
});
$data.Entity.extend("$org.types.Employee", {
Id: { type: "int", key: true, computed: true },
FirstName: { type: "string", required: true },
LastName: { type: "string", required: true },
Department: { type: "$org.types.Department", inverseProperty:"Employees"}
});
$data.EntityContext.extend("$org.types.OrgContext", {
Department: { type: $data.EntitySet, elementType: $org.types.Department },
Employee: { type: $data.EntitySet, elementType: $org.types.Employee }
});
可以對OrdContext和它集合編碼。下面一行將創建一個由當地的WebSQL支持的上下文實例(您還有其他選項,如IndexedDB的或的OData)
var context = new $org.types.OrgContext({ name: "webSql", databaseName: "OrgDB" });
添加一些數據
var department = new $org.types.Department({ Name: 'Finance', Employees: [] });
var emp1 = new $org.types.Employee({ FirstName: 'John', LastName: 'Smith'});
department.Employees.push(emp1);
var emp2 = new $org.types.Employee({ FirstName: 'Jane', LastName: 'Smith'});
emp2.Department = department;
context.add(department);
context.add(emp2);
context.saveChanges();
現在你已經在存儲數據你可以查詢它。實體字段支持JSLQ查詢,加上指向m..1方向的導航字段。 (在1.0版本中,你不能直接對1..M navProperties,您可以用in
表達規避這一
//filter
context.Employees
.filter(function(emp) { return emp.LastName == 'Smith' })
.toArray(...);
//filter
context.Employees
.filter(function(emp) { return emp.FirstName.startsWith('J') ||
emp.LastName.toLowerCase.contains('mith') })
.toArray(...);
//filter2
context.Employees
.filter(function(emp) { return emp.Department.Id == 1 })
.toArray(function(emps) { });
//filter2 + eager load
context.Employees
.include("Department")
.filter(function(emp) { return emp.Department.Id == 1 })
.toArray(function(emps) { });
//map/project
context.Employees
.filter(function(emp) { return emp.Department.Id == 1 }).toArray(...)
.map(function(emp) { return { EmployeeName: emp.FirstName + emp.LastName,
DepartmentName: emp.Department.Name }})
.forEach(function(item) { ... })
相關問題
- 1. 沒有JavaScript的Web UI框架
- 2. 有沒有Objective-C的web框架?
- 3. 沒有Javascript的CSS框架
- 4. REST on * just * IIS7(沒有web框架)
- 5. 沒有實體框架的Asp.net Web API
- 6. 有沒有zend框架的框架?
- 7. 沒有javascript的CSS3前端框架
- 8. JavaScript:捕獲Enter鍵沒有JS框架
- 9. JavaScript與框架沒有價值
- 10. 有沒有android ORM框架?
- 11. 100%Javascript Web框架
- 12. 有沒有不使用模板的PHP Web框架?
- 13. 有沒有現成的主題框架Asp.net web開發
- 14. 有沒有辦法在Grails Web框架中產生子進程?
- 15. 有沒有任何python web框架不需要url映射?
- 16. 沒有框架的網站
- 17. 如何沒有「-m」
- 18. 有沒有Ruby的命令行框架?
- 19. 有沒有這樣的AJAX框架?
- 20. Web服務器組件和Web服務器有什麼區別? - 沒有框架
- 21. doClick()沒有配置框架
- 22. 沒有OSGi框架的BIRT
- 23. Cocoapod框架沒有找到
- 24. 沒有找到框架AudioUnit
- 25. $ _GET沒有yii2框架
- 26. 沒有框架的add_axes
- 27. AdSupport框架沒有找到
- 28. HTML框架沒有出現
- 29. cvGetSubRect沒有納入框架
- 30. 沒有實體框架
persistence.js它。 – bennedich 2011-05-15 10:12:14