0

私は微風に慣れていません。私のデータは次のようになります。

{
    id: 1,
    name: 'Robert',
    hobbies: ['Skiing', 'Surfing'],
    address: {
        street: 'Sample Street',
        city: 'Sampleville',
        country: 'Belgium'
    }
}

プログラムでメタデータ ストアにこの構造を作成するにはどうすればよいですか?

4

1 に答える 1

1

Entity Framework を使用していないと仮定しています。

モデルの Breeze ネイティブ メタデータ フォーマットの Json を以下に示しますが、注意点が 1 つあります。 「趣味」プロパティ (データ プロパティの配列) は、Breeze 1.3.4 ではまだサポートされていません。 ただし、Mongo などの NoSQL データストアをサポートする次のメジャー リリースでサポートされる予定です。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 のドキュメントには、これらに関する詳細情報が含まれています。

于 2013-05-31T17:52:56.317 に答える