Breeze.js-在元数据存储中以编程方式创建复杂文档的示例
我不熟悉微风。我的数据如下所示:Breeze.js-在元数据存储中以编程方式创建复杂文档的示例,breeze,Breeze,我不熟悉微风。我的数据如下所示: { id: 1, name: 'Robert', hobbies: ['Skiing', 'Surfing'], address: { street: 'Sample Street', city: 'Sampleville', country: 'Belgium' } } 如何以编程方式在元数据存储中创建此结构?我假设您使用的是实体框架 您的模型的微风原生元数据格式的Jso
{
id: 1,
name: 'Robert',
hobbies: ['Skiing', 'Surfing'],
address: {
street: 'Sample Street',
city: 'Sampleville',
country: 'Belgium'
}
}
如何以编程方式在元数据存储中创建此结构?我假设您使用的是实体框架 您的模型的微风原生元数据格式的Json如下所示,但有一点需要注意Breeze 1.3.4中还不支持“嗜好”属性(一组数据属性)。但是,它将在支持NoSQL数据存储(如Mongo)的下一个主要版本中得到支持。我没有通过json解析器来运行它,所以可能会有一些小的语法错误,但这应该给您提供正确的想法
var jsonMetadata = {
"metadataVersion":"1.0.4",
"dataServices":[ {
"serviceName":"api/Foo/",
"hasServerMetadata":true,
"jsonResultsAdapter":"webApi_default",
"useJsonp":false
} ],
"structuralTypes":[ {
"shortName":"person",
"namespace":"YourNamespace",
"dataProperties":[
{ "name":"id", "dataType":"Int32" },
{ "name":"name", "dataType":"String" },
{ "name: "hobbies", "dataType: "String", isScalar: false },
{ "name":"address", "complexTypeName":"address:#YourNamespace" }
] }, {
"shortName":"address",
"namespace":"YourNamespace",
"isComplexType":true,
"dataProperties":[
{ "name":"street", "dataType":"String" },
{ "name":"city", "dataType":"String" },
{ "name: "country", "dataType: "String" }
} ]
}
你可以通过这样的方式来称呼它
myEntityManager.metadataStore.importMetadata(jsonMetadata);
我特意省略了(使用默认值)元数据以进行验证,不管属性是否可为null,字符串属性的maxLength(如果有)以及其他一些项。Breeze文档包含关于这些的更多信息 我很确定它应该是
hasServerMetadata:*false**
。此外,您不必引用散列成员名称——这是一个JavaScript对象,而不是JSON:)放在一边:这里的冗长需要一个简单的DSL。总有一天我要把它拼凑起来。请随意告诉我。下一个版本(支持MongoDB)何时发布有什么提示吗?如果我能在breeze中重用我的mongo或mongoose模式,而不是重新创建它,那就太棒了!此外,NoSQL支持:graph dbs,如neo4j?我们将在Node/Express中发布一个服务器端impl,展示如何在近期发布中查询Mongo。基本思想应该适用于大多数NoSQL数据库,但需要该数据库的impl。当然,魔鬼在细节中,所以…@JayTraband-太棒了!你有发布列表或我可以订阅的东西来获取更新吗?@kadumel by EF,你是说.Net实体框架吗?如果是的话,不,我没有用猫鼬。