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实体框架吗?如果是的话,不,我没有用猫鼬。